C#反序列化


在 C# 程式設計中,反序列化是序列化的相反過程。開發人員可以從位元組流中讀取內容並轉為物件。在這裡,我們將使用BinaryFormatter.Deserialize(stream)方法反序列化流。

C# 反序列化範例

下面來看看 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