序列化是將對象轉換為可存儲或傳輸的格式,例如字符串、字節流等。在C#中,常見的序列化方式包括XML序列化、JSON序列化和二進制序列化。
XML序列化使用XmlSerializer類來將對象序列化為XML格式的字符串,或將XML字符串反序列化為對象。JSON序列化使用JavaScriptSerializer或Json.NET庫來將對象序列化為JSON格式的字符串,或將JSON字符串反序列化為對象。二進制序列化使用BinaryFormatter類來將對象序列化為字節流,或將字節流反序列化為對象。
以下是一個示例,演示如何在C#中使用XmlSerializer進行序列化和反序列化:
using System;
using System.IO;
using System.Xml.Serialization;
// 定義一個簡單的類
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main()
{
// 創建一個Person對象
Person person = new Person
{
Name = "Alice",
Age = 30
};
// 創建XmlSerializer對象
XmlSerializer serializer = new XmlSerializer(typeof(Person));
// 將對象序列化為XML格式的字符串
StringWriter writer = new StringWriter();
serializer.Serialize(writer, person);
string xmlString = writer.ToString();
Console.WriteLine("Serialized XML:");
Console.WriteLine(xmlString);
// 將XML字符串反序列化為對象
StringReader reader = new StringReader(xmlString);
Person deserializedPerson = (Person)serializer.Deserialize(reader);
Console.WriteLine("Deserialized Person:");
Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");
}
}
以上示例演示了如何使用XmlSerializer類將Person對象序列化為XML字符串,并將XML字符串反序列化為Person對象。其他序列化方式的使用方法類似,只需替換相應的序列化類即可。