>백엔드 개발 >C#.Net 튜토리얼 >C#의 이진 직렬화 및 역직렬화란 무엇이며 C#에서 이진 직렬화를 구현하는 방법은 무엇입니까?

C#의 이진 직렬화 및 역직렬화란 무엇이며 C#에서 이진 직렬화를 구현하는 방법은 무엇입니까?

PHPz
PHPz앞으로
2023-09-05 15:53:021444검색

C#의 이진 직렬화 및 역직렬화란 무엇이며 C#에서 이진 직렬화를 구현하는 방법은 무엇입니까?

객체를 읽을 수 없는 바이너리 형식으로 변환하는 것을 바이너리 직렬화라고 합니다.

바이너리 형식을 다시 읽을 수 있는 형식으로 변환하는 것을 역직렬화라고 하나요?

C#에서 바이너리 직렬화를 구현하려면 System.Runtime.Serialization.Formatters.Binary Assembly 라이브러리를 사용해야 합니다.

BinaryFormatter 클래스의 객체를 생성하고 클래스 내부에서 serialize 메서드를 사용하세요.

Example

Serialize an Object to Binary
[Serializable]
public class Demo {
   public string ApplicationName { get; set; } = "Binary Serialize";
   public int ApplicationId { get; set; } = 1001;
}
class Program {
   static void Main()    {
      Demo sample = new Demo();
      FileStream fileStream = new FileStream(@"C:\Temp\Questions.dat", FileMode.Create);
      BinaryFormatter formatter = new BinaryFormatter();
      formatter.Serialize(fileStream, sample);
      Console.ReadKey();
   }
}

Output

ÿÿÿÿ

AConsoleApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ConsoleApp.Demok__BackingField - k__BackingField 바이너리 직렬화

Example

Converting back from Binary to Object
[Serializable]
public class Demo {
   public string ApplicationName { get; set; }
   public int ApplicationId { get; set; }
}
class Program {
   static void Main()    {
      FileStream fileStream = new FileStream(@"C:\Temp\Questions.dat ", FileMode.Open);
      BinaryFormatter formatter = new BinaryFormatter();
      Demo deserializedSampledemo = (Demo)formatter.Deserialize(fileStream);
      Console.WriteLine($"ApplicationName { deserializedSampledemo.ApplicationName} --- ApplicationId       { deserializedSampledemo.ApplicationId}");
      Console.ReadKey();
   }
}

Output

rreee

위 내용은 C#의 이진 직렬화 및 역직렬화란 무엇이며 C#에서 이진 직렬화를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
이전 기사:C#의 컬렉션다음 기사:C#의 컬렉션