在 C# 程式設計中,反序列化是序列化的相反過程。開發人員可以從位元組流中讀取內容並轉為物件。在這裡,我們將使用BinaryFormatter.Deserialize(stream)
方法反序列化流。
下面來看看 C# 中的反序列化的簡單例子。參考以下範例程式碼 -
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class Student
{
public int rollno;
public string name;
public Student(int rollno, string name)
{
this.rollno = rollno;
this.name = name;
}
}
public class DeserializeExample
{
public static void Main(string[] args)
{
FileStream stream = new FileStream(@"F:\worksp\csharp\serialize.txt", FileMode.OpenOrCreate);
BinaryFormatter formatter = new BinaryFormatter();
Student s = (Student)formatter.Deserialize(stream);
Console.WriteLine("Rollno: " + s.rollno);
Console.WriteLine("Name: " + s.name);
stream.Close();
}
}
執行上面範例程式碼,得到以下結果 -
Rollno: 1010
Name: Curry