本文概述
- C#SerializableAttribute
- C#序列化示例
序列化在远程应用程序内部使用。
文章图片
C#SerializableAttribute要序列化对象,你需要将SerializableAttribute属性应用于该类型。如果你不将SerializableAttribute属性应用于该类型,则在运行时会引发SerializationException异常。
C#序列化示例让我们看一下C#中序列化的简单示例,其中我们要序列化Student类的对象。在这里,我们将使用BinaryFormatter.Serialize(stream,reference)方法来序列化对象。
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class Student
{
int rollno;
string name;
public Student(int rollno, string name)
{
this.rollno = rollno;
this.name = name;
}
}
public class SerializeExample
{
public static void Main(string[] args)
{
FileStream stream = new FileStream("e:\\sss.txt", FileMode.OpenOrCreate);
BinaryFormatter formatter=new BinaryFormatter();
Student s = new Student(101, "sonoo");
formatter.Serialize(stream, s);
stream.Close();
}
}
sss.txt:
JConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Student rollnoname e sonoo
【C#序列化】如你所见,序列化的数据存储在文件中。要获取数据,你需要执行反序列化。
推荐阅读
- C# DirectoryInfo用法
- C# FileInfo用法
- C# StringReader用法
- C# BinaryWriter用法
- C# StringWriter用法
- C# BinaryReader用法
- C# TextReader用法
- C# TextWriter用法
- C#用户定义的异常