C#序列化

/ / C#序列化

在C#中,序列化是将对象转换为字节流以便将其保存到内存、文件或数据库的过程。序列化的反向过程称为反序列化。

序列化在远程应用程序内部使用。

C# serialization

C#SerializableAttribute

若要序列化对象,需要对类型应用SerializableAttribute属性。如果不将SerializableAttribute属性应用于该类型,则会在运行时引发SerializationException异常。

C#序列化示例

让无涯教程看看C#中序列化的简单示例,其中序列化了Student类的对象。这里,将使用BinaryFormatter.Serialize(stream,reference)方法序列化对象。

using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class Student
{
    int rollno;
    string name;
    public Student(int rollno, string name)
    {
        this.rollno = rollno;
        this.name = name;
    }
}
public class SerializeExample
{
    public static void Main(string[] args)
    {
        FileStream stream = new FileStream("e:\\sss.txt", FileMode.OpenOrCreate);
        BinaryFormatter formatter=new BinaryFormatter();
        
        Student s = new Student(101, "sonoo");
        formatter.Serialize(stream, s);

        stream.Close();
    }
}

sss.txt:

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/csharp/c-sharp-serialization.html

来源:LearnFk无涯教程网

  JConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Student rollnoname e sonoo

如您所见,序列化数据存储在文件中。要获取数据,您需要执行反序列化。

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

RAG在企业数智化场景下的设计与改进 -〔张颖峰〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

技术领导力实战笔记 2022 -〔TGO 鲲鹏会〕

Web漏洞挖掘实战 -〔王昊天〕

业务开发算法50讲 -〔黄清昊〕

OpenResty从入门到实战 -〔温铭〕

深入拆解Tomcat & Jetty -〔李号双〕

许式伟的架构课 -〔许式伟〕

趣谈Linux操作系统 -〔刘超〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者