static void Main(string[] args) { common.proto2.MsgTest input1Msg = new common.proto2.MsgTest(); SetMsgTest(input1Msg, 3); common.proto2.MsgTest input2Msg = new common.proto2.MsgTest(); SetMsgTest(input2Msg, 2); common.proto2.MsgTest outputMsg = new common.proto2.MsgTest(); // 本地内存读/写 if (true) { MemoryStream input1Buff = new MemoryStream(); MemoryStream input2Buff = new MemoryStream(); // 序列化到buff if (!input1Msg.SerializeToStream(input1Buff, input1Msg.ByteSize())) { Console.Write("input1Msg SerializeToStream error."); } if (!input2Msg.SerializeToStream(input2Buff, input2Msg.ByteSize())) { Console.Write("input2Msg SerializeToStream error."); } // 从buff反序列化 input1Buff.Position = 0; if (!outputMsg.ParseFromStream(input1Buff, (ulong)input1Buff.Length)) { Console.Write("outputMsg ParseFromStream error."); } input2Buff.Position = 0; if (!outputMsg.ParseFromStream(input2Buff, (ulong)input2Buff.Length)) { Console.Write("outputMsg ParseFromStream error."); } } // 序列化到文件 if (true) { FileStream output1Stream = new FileStream("./output1Stream.txt", FileMode.OpenOrCreate, FileAccess.Write); FileStream output2Stream = new FileStream("./output2Stream.txt", FileMode.OpenOrCreate, FileAccess.Write); if (null != output1Stream) { if (!input1Msg.SerializeToStream(output1Stream, input1Msg.ByteSize())) { Console.Write("outputMsg SerializeToStream error."); } output1Stream.Close(); } if (null != output2Stream) { if (!input2Msg.SerializeToStream(output2Stream, input2Msg.ByteSize())) { Console.Write("outputMsg SerializeToStream error."); } output2Stream.Close(); } } // 从文件反序列化 if (true) { FileStream input1Stream = new FileStream("./output1Stream.txt", FileMode.Open, FileAccess.Read); FileStream input2Stream = new FileStream("./output2Stream.txt", FileMode.Open, FileAccess.Read); if (null != input1Stream) { if (!outputMsg.ParseFromStream(input1Stream, (ulong)input1Stream.Length)) { Console.Write("outputMsg ParseFromStream error."); } input1Stream.Close(); } if (null != input2Stream) { if (!outputMsg.ParseFromStream(input2Stream, (ulong)input2Stream.Length)) { Console.Write("outputMsg ParseFromStream error."); } input1Stream.Close(); } } Console.WriteLine("按任意键退出..."); Console.ReadKey(); }
static void SetMsgTest(common.proto2.MsgTest msg, int n) { { MsgTestSingular msgSingular = new MsgTestSingular(); SetMsgTestSingular(msgSingular); msg.m_testsingular = msgSingular; } { msg.clear_m_testsingular_array(); for (int i = 0; i < n; i++) { MsgTestSingular msgSingular = new MsgTestSingular(); SetMsgTestSingular(msgSingular); msg.add_m_testsingular_array(msgSingular); } for (int i = 0; i < n; i++) { MsgTestSingular msgSingular = new MsgTestSingular(); ; SetMsgTestSingular(msgSingular); msg.set_m_testsingular_array(i, msgSingular); } } { for (int i = 0; i < n; i++) { MsgTestSingular msgSingular = new MsgTestSingular(); SetMsgTestSingular(msgSingular); msg.add_m_testsingular_map(i, msgSingular); } for (int i = 0; i < n; i++) { msg.remove_m_testsingular_map(i); } for (int i = 0; i < n; i++) { MsgTestSingular msgSingular = new MsgTestSingular(); SetMsgTestSingular(msgSingular); msg.add_m_testsingular_map(i, msgSingular); } for (int i = 0; i < n; i++) { msg.find_m_testsingular_map(i); } } { MsgTestArray msgArray = new MsgTestArray(); SetMsgTestArray(msgArray, n); msg.m_testarray = msgArray; } { msg.clear_m_testarray_array(); for (int i = 0; i < n; i++) { MsgTestArray msgArray = new MsgTestArray(); SetMsgTestArray(msgArray, n); msg.add_m_testarray_array(msgArray); } for (int i = 0; i < n; i++) { MsgTestArray msgArray = new MsgTestArray(); SetMsgTestArray(msgArray, n); msg.set_m_testarray_array(i, msgArray); } } { for (int i = 0; i < n; i++) { MsgTestArray msgArray = new MsgTestArray(); SetMsgTestArray(msgArray, n); msg.add_m_testarray_map(i, msgArray); } for (int i = 0; i < n; i++) { msg.remove_m_testarray_map(i); } for (int i = 0; i < n; i++) { MsgTestArray msgArray = new MsgTestArray(); SetMsgTestArray(msgArray, n); msg.add_m_testarray_map(i, msgArray); } for (int i = 0; i < n; i++) { msg.find_m_testarray_map(i); } } { MsgTestSet msgSet = new MsgTestSet(); SetMsgTestSet(msgSet, n); msg.m_testset = msgSet; } { msg.clear_m_testset_array(); for (int i = 0; i < n; i++) { MsgTestSet msgSet = new MsgTestSet(); SetMsgTestSet(msgSet, n); msg.add_m_testset_array(msgSet); } for (int i = 0; i < n; i++) { MsgTestSet msgSet = new MsgTestSet(); SetMsgTestSet(msgSet, n); msg.set_m_testset_array(i, msgSet); } } { for (int i = 0; i < n; i++) { MsgTestSet msgSet = new MsgTestSet(); SetMsgTestSet(msgSet, n); msg.add_m_testset_map(i, msgSet); } for (int i = 0; i < n; i++) { msg.remove_m_testset_map(i); } for (int i = 0; i < n; i++) { MsgTestSet msgSet = new MsgTestSet(); SetMsgTestSet(msgSet, n); msg.add_m_testset_map(i, msgSet); } for (int i = 0; i < n; i++) { msg.find_m_testset_map(i); } } { MsgTestMap msgMap = new MsgTestMap(); SetMsgTestMap(msgMap, n); msg.m_testmap = msgMap; } { msg.clear_m_testmap_array(); for (int i = 0; i < n; i++) { MsgTestMap msgMap = new MsgTestMap(); SetMsgTestMap(msgMap, n); msg.add_m_testmap_array(msgMap); } for (int i = 0; i < n; i++) { MsgTestMap msgMap = new MsgTestMap(); SetMsgTestMap(msgMap, n); msg.set_m_testmap_array(i, msgMap); } } { for (int i = 0; i < n; i++) { MsgTestMap msgMap = new MsgTestMap(); SetMsgTestMap(msgMap, n); msg.add_m_testmap_map(i, msgMap); } for (int i = 0; i < n; i++) { msg.remove_m_testmap_map(i); } for (int i = 0; i < n; i++) { MsgTestMap msgMap = new MsgTestMap(); SetMsgTestMap(msgMap, n); msg.add_m_testmap_map(i, msgMap); } } }