logo

C# 직렬화

C#에서 직렬화는 개체를 메모리, 파일 또는 데이터베이스에 저장할 수 있도록 바이트 스트림으로 변환하는 프로세스입니다. 직렬화의 역과정을 역직렬화라고 합니다.

살만 칸 칸 나이

직렬화는 원격 애플리케이션에서 내부적으로 사용됩니다.

C# 직렬화

C# 직렬화 가능 속성

객체를 직렬화하려면 다음을 적용해야 합니다. 직렬화 가능속성 유형에 속성을 부여합니다. 신청하지 않으면 직렬화 가능속성 유형에 대한 속성, 직렬화 예외 런타임에 예외가 발생합니다.

C# 직렬화 예

Student 클래스의 개체를 직렬화하는 C#의 간단한 직렬화 예를 살펴보겠습니다. 여기에서 우리는 BinaryFormatter.Serialize(스트림, 참조) 객체를 직렬화하는 방법.

자바 8
 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:

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

보시다시피 직렬화된 데이터는 파일에 저장됩니다. 데이터를 얻으려면 deserialization을 수행해야 합니다.