ホームページ > バックエンド開発 > C++ > C# でオブジェクトをシリアル化および逆シリアル化する方法

C# でオブジェクトをシリアル化および逆シリアル化する方法

DDD
リリース: 2025-01-23 11:42:11
オリジナル
237 人が閲覧しました

How to Serialize and Deserialize Objects in C#?

C# オブジェクトの保存と復元: シリアル化と逆シリアル化

シリアル化ではデータをポータブル形式で保存するため、異なるアプリケーション、システム、マシン間でのオブジェクトの転送が容易になります。

オブジェクトをシリアル化するには、[Serializable] 属性タグを使用し、パラメーターなしのコンストラクターを含める必要があります。 さらに、[XmlIgnore] および [JsonIgnore] 属性を使用して、特定の属性またはフィールドを除外することができます。

次の SomeClass について考えてみましょう:

<code class="language-csharp">[Serializable]
public class SomeClass
{
    public string someProperty { get; set; }
}

SomeClass object1 = new SomeClass { someProperty = "someString" };</code>
ログイン後にコピー

ファイルに保存

  • バイナリシリアル化:

    <code class="language-csharp">  BinaryFormatter binaryFormatter = new BinaryFormatter();
    
      using (Stream stream = File.Create("object1.bin"))
      {
          binaryFormatter.Serialize(stream, object1);
      }</code>
    ログイン後にコピー
  • XML シリアル化:

    <code class="language-csharp">  XmlSerializer serializer = new XmlSerializer(typeof(SomeClass));
    
      using (TextWriter writer = new StreamWriter("object1.xml"))
      {
          serializer.Serialize(writer, object1);
      }</code>
    ログイン後にコピー
  • JSON シリアル化:

    <code class="language-csharp">  using (StreamWriter writer = new StreamWriter("object1.json"))
      {
          writer.Write(JsonConvert.SerializeObject(object1));
      }</code>
    ログイン後にコピー

ファイルから復元

  • バイナリ逆シリアル化:

    <code class="language-csharp">  BinaryFormatter binaryFormatter = new BinaryFormatter();
    
      using (Stream stream = File.OpenRead("object1.bin"))
      {
          object1 = (SomeClass)binaryFormatter.Deserialize(stream);
      }</code>
    ログイン後にコピー
  • XML デシリアライゼーション:

    <code class="language-csharp">  XmlSerializer serializer = new XmlSerializer(typeof(SomeClass));
    
      using (TextReader reader = new StreamReader("object1.xml"))
      {
          object1 = (SomeClass)serializer.Deserialize(reader);
      }</code>
    ログイン後にコピー
  • JSON デシリアライゼーション (JsonDeserialization):

    <code class="language-csharp">  using (StreamReader reader = new StreamReader("object1.json"))
      {
          object1 = JsonConvert.DeserializeObject<SomeClass>(reader.ReadToEnd());
      }</code>
    ログイン後にコピー

以上がC# でオブジェクトをシリアル化および逆シリアル化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート