无涯教程-C# - 反序列化

72 阅读1分钟

在C#编程中,反序列化是序列化的反向过程。这意味着您可以从字节流中读取对象。这里,无涯教程将使用BinaryFormatter.Deserialize(stream)方法对流进行反序列化。

C# deserialization

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("e:\\sss.txt", FileMode.OpenOrCreate);
        BinaryFormatter formatter=new BinaryFormatter();
    </span><span class="typ">Student</span><span class="pln"> s</span><span class="pun">=(</span><span class="typ">Student</span><span class="pun">)</span><span class="pln">formatter</span><span class="pun">.</span><span class="typ">Deserialize</span><span class="pun">(</span><span class="pln">stream</span><span class="pun">);</span><span class="pln">
    </span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"Rollno: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> s</span><span class="pun">.</span><span class="pln">rollno</span><span class="pun">);</span><span class="pln">
    </span><span class="typ">Console</span><span class="pun">.</span><span class="typ">WriteLine</span><span class="pun">(</span><span class="str">"Name: "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> s</span><span class="pun">.</span><span class="pln">name</span><span class="pun">);</span><span class="pln">

    stream</span><span class="pun">.</span><span class="typ">Close</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

}

输出:

Rollno: 101
Name: sonoo

参考链接

www.learnfk.com/csharp/c-sh…