C# 개발에서 객체 직렬화 및 역직렬화를 처리하려면 특정 코드 예제가 필요합니다.
C# 개발에서 객체 직렬화 및 역직렬화는 매우 중요한 개념입니다. 직렬화는 개체를 네트워크를 통해 전송하거나 디스크에 저장할 수 있는 형식으로 변환하는 반면, 역직렬화는 직렬화된 데이터를 다시 원래 개체로 변환합니다. 이 문서에서는 C#에서 개체의 직렬화 및 역직렬화를 처리하는 방법을 소개하고 몇 가지 구체적인 코드 예제를 제공합니다.
Json.NET은 C#에서 편리한 개체 직렬화 및 역직렬화를 허용하는 인기 있는 타사 라이브러리입니다. 먼저 Json.NET 라이브러리를 설치해야 합니다. Json.NET은 NuGet 패키지 관리자를 통해 Visual Studio에 설치할 수 있습니다.
a) 객체 직렬화 예시
다음 코드 예시는 Person 객체를 JSON 문자열로 직렬화하는 방법을 보여줍니다.
using Newtonsoft.Json; using System; public class Person { public string Name { get; set; } public int Age { get; set; } } public static void Main() { Person person = new Person { Name = "John Doe", Age = 30 }; string json = JsonConvert.SerializeObject(person); Console.WriteLine(json); }
이 예시에서는 JsonConvert.SerializeObject 메서드를 사용하여 Person 객체를 JSON 문자열로 변환합니다. Console.WriteLine을 통해 결과를 출력합니다.
b) 개체 역직렬화 예
다음 코드 예는 JSON 문자열을 Person 개체로 역직렬화하는 방법을 보여줍니다.
using Newtonsoft.Json; using System; public class Person { public string Name { get; set; } public int Age { get; set; } } public static void Main() { string json = "{"Name":"John Doe","Age":30}"; Person person = JsonConvert.DeserializeObject<Person>(json); Console.WriteLine(person.Name); Console.WriteLine(person.Age); }
이 예에서는 JsonConvert.DeserializeObject 메서드를 사용하여 JSON 문자열을 Person 개체로 변환하고 출력합니다. Console.WriteLine을 통해 Name 및 Age 속성 값.
Json.NET 라이브러리 외에도 C#에서는 개체를 이진 형식으로 직렬화하고 이진 데이터를 개체로 역직렬화하는 데 사용할 수 있는 BinaryFormatter 클래스도 제공합니다. 다음은 BinaryFormatter를 사용한 직렬화 및 역직렬화의 예입니다.
a) 객체 직렬화 예
다음 코드 예는 Person 객체를 바이너리 데이터로 직렬화하는 방법을 보여줍니다.
using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; [Serializable] public class Person { public string Name { get; set; } public int Age { get; set; } } public static void Main() { Person person = new Person { Name = "John Doe", Age = 30 }; BinaryFormatter formatter = new BinaryFormatter(); MemoryStream stream = new MemoryStream(); formatter.Serialize(stream, person); byte[] binaryData = stream.ToArray(); stream.Close(); Console.WriteLine(BitConverter.ToString(binaryData)); }
이 예에서는 Person 객체를 생성하고 이를 직렬화합니다. BinaryFormatter.Serialize 메서드를 사용하여 메모리 스트림에 넣습니다. 그런 다음 MemoryStream.ToArray 메서드를 통해 바이너리 데이터를 가져오고 BitConverter.ToString 메서드를 사용하여 문자열로 출력합니다.
b) 개체 역직렬화 예
다음 코드 예제에서는 이진 데이터를 Person 개체로 역직렬화하는 방법을 보여줍니다.
using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; [Serializable] public class Person { public string Name { get; set; } public int Age { get; set; } } public static void Main() { string binaryDataString = "01-00-00-00-02-00-00-00-00-00-00-00-09-4A-6F-68-6E-20-44-6F-65-00-1E-00-00-00-00-00-00-00"; byte[] binaryData = BitConverter.GetBytes(binaryDataString.Replace("-", "")); BinaryFormatter formatter = new BinaryFormatter(); MemoryStream stream = new MemoryStream(binaryData); Person person = (Person)formatter.Deserialize(stream); stream.Close(); Console.WriteLine(person.Name); Console.WriteLine(person.Age); }
이 예에서는 BinaryFormatter.Deserialize 메서드를 사용하여 이진 데이터를 Person 개체로 역직렬화하고 값을 출력합니다. Console.WriteLine을 통해 Name 및 Age 속성을 확인합니다.
요약
이 기사를 통해 C# 개발에서 객체 직렬화 및 역직렬화를 처리하는 방법을 배웠습니다. Json.NET 라이브러리와 BinaryFormatter 클래스를 사용하여 직렬화 및 역직렬화 예제를 각각 수행하고 특정 코드 조각을 제공했습니다. 실제 요구에 따라 객체 직렬화 및 역직렬화를 처리하는 적절한 방법을 선택하십시오.
위 내용은 C# 개발에서 개체 직렬화 및 역직렬화를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!