リストには、int 要素を持つリストと bool 要素を持つリストの 2 種類があります。これらのリストをサーバーに渡すには、以下で行ったことを行う必要があります。
using(MemoryStream m = new MemoryStream()){
using(BinaryWriter writer = new BinaryWriter(m)){
byte[] bytesIntList = new byte[IntList.Count * sizeof(int)];
Buffer.BlockCopy(IntList.ToArray(), 0, bytesIntList, 0, bytesIntList.Length);
writer.Write(Convert.ToBase64String(bytesIntList));
byte[] bytesBoolList = new byte[BoolList.Count * sizeof(bool)];
Buffer.BlockCopy(BoolList.ToArray(), 0, bytesBoolList, 0, bytesBoolList.Length);
writer.Write(Convert.ToBase64String(bytesBoolList));
}
byte[] data = m.ToArray();
return data;
}
さて、逆のプロセスをどのように行うかを知りたいです:これらのリストを受け取ります:
using (MemoryStream m = new MemoryStream(data)){
using (BinaryReader reader = new BinaryReader(m)){
byte[] bytesIntList = Convert.FromBase64String(reader.ReadString());
byte[] bytesBoolList = Convert.FromBase64String(reader.ReadString());
List<int> newIntList = ??? //what do I have to do here?
List<bool> newBoolList = ??? //what do I have to do here?
}
}
リストに合格するための他の提案があれば、それは大歓迎です!