在 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("F:\\worksp\\csharp\\serialize.txt", FileMode.OpenOrCreate);
BinaryFormatter formatter = new BinaryFormatter();
Student s = new Student(1010, "Curry");
formatter.Serialize(stream, s);
stream.Close();
}
}
执行上面示例代码后,应该可以在F:\worksp\csharp目录看到创建了一个文件:serialize.txt,里边有记录对象的相关信息。内容如下所示 -
上一篇:
C# DirectoryInfo类
下一篇:
C#反序列化