C#シーケンス化
13272 ワード
C#シーケンス化
1.なぜシーケンス化が必要なのか
例えば、C#で書かれたオブジェクトデータの一部は、Javaで書かれたモジュールで使用されるシナリオに渡されます.異なる言語間でオブジェクトデータを交換するのは、各オブジェクトが立体的で、多くのデータ量を持っているため、多くの不便な点があります.したがって,この場合のデータ交換を実現するにはbyteや文字列,あるいは他のより容易に伝送・識別できるデータフォーマットにオブジェクトを変換する必要があるため,伝送する一端に対してデータをシーケンス化し,受信データの一端に対数データを逆シーケンス化する必要がある.
2.シーケンス化とは
オブジェクトシーケンス化(Serilization)とは、オブジェクトを指定された方法、指定されたシーケンス組織方式で組織することである.シーケンス化とは、データを何らかのルールでキューに入れることです.シーケンス化--フォーマットとも呼ばれ、データを一定のフォーマットで保存します.逆シーケンス化とは、シーケンス化されたルールに従って元のフォーマットに復元されます.
3.シーケンス化の方法
一般的なシーケンス化方法は3つあります.オブジェクトをbyte配列BinaryFormaterクラス に変換オブジェクトをxmlファイル に変換する
3.対象をjsonにする
リファレンス
1.なぜシーケンス化が必要なのか
例えば、C#で書かれたオブジェクトデータの一部は、Javaで書かれたモジュールで使用されるシナリオに渡されます.異なる言語間でオブジェクトデータを交換するのは、各オブジェクトが立体的で、多くのデータ量を持っているため、多くの不便な点があります.したがって,この場合のデータ交換を実現するにはbyteや文字列,あるいは他のより容易に伝送・識別できるデータフォーマットにオブジェクトを変換する必要があるため,伝送する一端に対してデータをシーケンス化し,受信データの一端に対数データを逆シーケンス化する必要がある.
2.シーケンス化とは
オブジェクトシーケンス化(Serilization)とは、オブジェクトを指定された方法、指定されたシーケンス組織方式で組織することである.シーケンス化とは、データを何らかのルールでキューに入れることです.シーケンス化--フォーマットとも呼ばれ、データを一定のフォーマットで保存します.逆シーケンス化とは、シーケンス化されたルールに従って元のフォーマットに復元されます.
3.シーケンス化の方法
一般的なシーケンス化方法は3つあります.
// , Serilize
[Serializable]
public class Student
{
private string _firstName;
private string _lastName;
private int _age;
public string FirstName { get => _firstName; set => _firstName = value; }
public string LastName { get => _lastName; set => _lastName = value; }
public int Age { get => _age; set => _age = value; }
public Student(string fi, string la, int age)
{
this._firstName = fi;
this._lastName = la;
this._age = age;
}
}
// BinaryFormatterTest , ,
public class BinaryFormatterTest
{
// ,
public static void ObjectToBinary<T>(T u)
{
string path = "D:\\xx.data";
FileStream fs = new FileStream(path, FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serilize(fs, u);
fs.Close();
}
// ,
public static object BinaryToObject(string path)
{
FileStream fs = new FileStream(path, FileMode.Open);
BinaryFormatter = new BinaryFormatter();
return bf.Deserilize(fs);
}
}
class Program
{
void Serilize()
{
List<Student> stus = new List<Student>
{
new Student("ueh","mdks",18),
new Student("Asd","fdfd",39),
new Student("sshd","fduid",26)
};
BinaryFormatterTest.ObjectToBinary<List<Student>>(stus);
Console.WriteLine(" );
}
void Deserilize()
{
string str = strig.Empty;
var list = BinaryFormatter.BinatyToObject(@"D:\xx.data") as List<Student>;
foreach (Student item in list)
{
str += $"Name={item.FirstName}.{Item.LastName}" + "
";
}
Console.WriteLine(str);
}
static void Main()
{
//Serilize();
Deserilize();
Console.ReadKey();
}
}
3.対象をjsonにする
リファレンス