例を使用した C# でのシリアル化と逆シリアル化
C# でのシリアル化と逆シリアル化
シリアライゼーションとデシリアライゼーションの概念は、オブジェクトに関するデータをあるアプリケーションから別のアプリケーションに送信する必要がある場合に常に使用されます。シリアル化は、アプリケーション データをファイルにエクスポートするために使用されます。次に、宛先アプリケーションはデシリアライゼーションを使用してアプリケーションからデータを抽出し、さらに使用できるようにします。
シリアライゼーションは、C# クラス オブジェクトがファイルに書き込まれるか、ファイルにシリアライズされる概念です。 Tutorial という名前の C# クラスがあるとします。また、クラスには ID とチュートリアル名の 2 つのプロパティがあります。
シリアル化を使用して、Tutorial クラスのデータ プロパティをファイルに直接書き込むことができます。逆シリアル化は、ファイルからデータを読み取り、Tutorial オブジェクトを再度構築するために使用されます。
C# でオブジェクトをシリアル化する方法
これを実現する方法の例を見てみましょう。
この例では、コードで以下の高レベルの手順を実行します
<オール>コンソール アプリケーションの program.cs ファイルに次のコードを入力します。
ステップ 1) クラスを追加します。
最初のステップは、シリアル化に使用されるクラスを追加することです
コードの説明:-
<オール>
ステップ 2) オブジェクトを作成します。
このステップでは、まずチュートリアル クラスのオブジェクトを作成し、それを Example.txt というファイルにシリアル化します。
コードの説明:-
<オール>
ステップ 3) 逆シリアル化を使用します。
最後に、データがファイルに存在することを確認するために、逆シリアル化を使用してファイルからオブジェクトを逆シリアル化します。
using System; using System.IO; using System.Linq; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Text; using System.Threading.Tasks; namespace DemoApplication { [Serializable] class Tutorial { public int ID; public String Name; static void Main(string[] args) { Tutorial obj = new Tutorial(); obj.ID = 1; obj.Name = ".Net"; IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream(@"E:\ExampleNew.txt",FileMode.Create,FileAccess.Write); formatter.Serialize(stream, obj); stream.Close(); stream = new FileStream(@"E:\ExampleNew.txt",FileMode.Open,FileAccess.Read); Tutorial objnew = (Tutorial)formatter.Deserialize(stream); Console.WriteLine(objnew.ID); Console.WriteLine(objnew.Name); Console.ReadKey(); } } }
コードの説明:-
<オール>上記のコードを設定し、Visual Studio を使用してプロジェクトを実行すると、以下の出力が得られます。
出力:-
上記の出力から、ファイルの値が適切に逆シリアル化され、コンソールに表示されていることがわかります。
まとめ
シリアル化は、クラス オブジェクトをファイルに書き込むために使用されます。
デシリアライゼーションは、ファイルからオブジェクトを復元するために使用されます。
C言語