在C#中,可以使用System.Runtime.Serialization
命名空間中的類來實現對象的序列化和反序列化。具體步驟如下:
[Serializable]
屬性,表示該類可以被序列化。[Serializable]
public class MyClass
{
public int Id { get; set; }
public string Name { get; set; }
}
BinaryFormatter
對象,用于序列化和反序列化對象。using System.Runtime.Serialization.Formatters.Binary;
BinaryFormatter formatter = new BinaryFormatter();
MyClass obj = new MyClass { Id = 1, Name = "John" };
using (FileStream fileStream = new FileStream("data.dat", FileMode.Create))
{
formatter.Serialize(fileStream, obj);
}
MyClass newObj;
using (FileStream fileStream = new FileStream("data.dat", FileMode.Open))
{
newObj = (MyClass)formatter.Deserialize(fileStream);
}
Console.WriteLine($"Id: {newObj.Id}, Name: {newObj.Name}");
上述代碼演示了如何將MyClass
對象序列化到文件中,然后再從文件中反序列化得到新的對象。你也可以使用其他格式如XML或JSON來序列化對象,只需要相應地更換Formatter
類型即可。