本文整理汇总了C#中Parameters.Serialize方法的典型用法代码示例。如果您正苦于以下问题:C# Parameters.Serialize方法的具体用法?C# Parameters.Serialize怎么用?C# Parameters.Serialize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Parameters
的用法示例。
在下文中一共展示了Parameters.Serialize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: testForString
//.........这里部分代码省略.........
Assert.IsFalse(it.MoveNext());
Assert.AreEqual(
"entry 0:\n"
+ "name: some rather longer name\n"
+ "string: Kolorowe kredki w pudeleczku nosze,\n"
+ "kolorowe kredki, bardzo lubie je!\n"
+ "entry 1:\n"
+ "name: other name\n"
+ "string: Kolorowe kredki w pudeleczku nosze,\n"
+ "kolorowe kredki, bardzo lubie je!\n"
+ "entry 2:\n"
+ "name: nameA\n"
+ "string array: Kazio Krzysio Rysio Zbysio\n",
parameters.ToString());
byte[] expected = {
3, 0, 0, 0, // num of entries
23, 0, 0, 0, // length of "some rather longer name"
(byte)'s', (byte)'o', (byte)'m', (byte)'e',
(byte)' ', (byte)'r', (byte)'a', (byte)'t',
(byte)'h', (byte)'e', (byte)'r', (byte)' ',
(byte)'l', (byte)'o', (byte)'n', (byte)'g',
(byte)'e', (byte)'r', (byte)' ', (byte)'n',
(byte)'a', (byte)'m', (byte)'e', 0,
5, 0, 0, 0, // type code for string
69, 0, 0, 0, // length
(byte)'K', (byte)'o', (byte)'l', (byte)'o',
(byte)'r', (byte)'o', (byte)'w', (byte)'e',
(byte)' ', (byte)'k', (byte)'r', (byte)'e',
(byte)'d', (byte)'k', (byte)'i', (byte)' ',
(byte)'w', (byte)' ', (byte)'p', (byte)'u',
(byte)'d', (byte)'e', (byte)'l', (byte)'e',
(byte)'c', (byte)'z', (byte)'k', (byte)'u',
(byte)' ', (byte)'n', (byte)'o', (byte)'s',
(byte)'z', (byte)'e', (byte)',', (byte)'\n',
(byte)'k', (byte)'o', (byte)'l', (byte)'o',
(byte)'r', (byte)'o', (byte)'w', (byte)'e',
(byte)' ', (byte)'k', (byte)'r', (byte)'e',
(byte)'d', (byte)'k', (byte)'i', (byte)',',
(byte)' ', (byte)'b', (byte)'a', (byte)'r',
(byte)'d', (byte)'z', (byte)'o', (byte)' ',
(byte)'l', (byte)'u', (byte)'b', (byte)'i',
(byte)'e', (byte)' ', (byte)'j', (byte)'e',
(byte)'!', 0, 0, 0,
10, 0, 0, 0, // length of "other name"
(byte)'o', (byte)'t', (byte)'h', (byte)'e',
(byte)'r', (byte)' ', (byte)'n', (byte)'a',
(byte)'m', (byte)'e', 0, 0,
5, 0, 0, 0, // type code for string
69, 0, 0, 0, // length
(byte)'K', (byte)'o', (byte)'l', (byte)'o',
(byte)'r', (byte)'o', (byte)'w', (byte)'e',
(byte)' ', (byte)'k', (byte)'r', (byte)'e',
(byte)'d', (byte)'k', (byte)'i', (byte)' ',
(byte)'w', (byte)' ', (byte)'p', (byte)'u',
(byte)'d', (byte)'e', (byte)'l', (byte)'e',
(byte)'c', (byte)'z', (byte)'k', (byte)'u',
(byte)' ', (byte)'n', (byte)'o', (byte)'s',
(byte)'z', (byte)'e', (byte)',', (byte)'\n',
(byte)'k', (byte)'o', (byte)'l', (byte)'o',
(byte)'r', (byte)'o', (byte)'w', (byte)'e',
(byte)' ', (byte)'k', (byte)'r', (byte)'e',
(byte)'d', (byte)'k', (byte)'i', (byte)',',
(byte)' ', (byte)'b', (byte)'a', (byte)'r',
(byte)'d', (byte)'z', (byte)'o', (byte)' ',
(byte)'l', (byte)'u', (byte)'b', (byte)'i',
(byte)'e', (byte)' ', (byte)'j', (byte)'e',
(byte)'!', 0, 0, 0,
5, 0, 0, 0, // length of "nameA"
(byte)'n', (byte)'a', (byte)'m', (byte)'e',
(byte)'A', 0, 0, 0,
11, 0, 0, 0, // type code for string array
4, 0, 0, 0, // length of array
5, 0, 0, 0, // length of first entry
(byte)'K', (byte)'a', (byte)'z', (byte)'i',
(byte)'o', 0, 0, 0,
7, 0, 0, 0, // length of second entry
(byte)'K', (byte)'r', (byte)'z', (byte)'y',
(byte)'s', (byte)'i', (byte)'o', 0,
5, 0, 0, 0, // length of third entry
(byte)'R', (byte)'y', (byte)'s', (byte)'i',
(byte)'o', 0, 0, 0,
6, 0, 0, 0, // length of fourth entry
(byte)'Z', (byte)'b', (byte)'y', (byte)'s',
(byte)'i', (byte)'o', 0, 0
};
checkSerialization(parameters, expected);
// additional test for serialization of multibyte characters
string nonASCIIString = "Unicode \u00a3 pound sign";
Parameters p2 = new Parameters();
p2.SetString("a", nonASCIIString);
IList<byte[]> buffers = p2.Serialize(int.MaxValue);
Parameters p3 = new Parameters();
p3.Deserialize(buffers);
Assert.IsTrue(p2.GetString("a") == p3.GetString("a"));
}
示例2: checkSerialization
private static void checkSerialization(
Parameters parameters,
byte[] expected)
{
// check for serialization into continuous buffer
IList<byte[]> buffers = parameters.Serialize(int.MaxValue);
Assert.AreEqual(expected, buffers[0]);
// verify deserialization gives the same results
Parameters params2 = new Parameters();
params2.Deserialize(buffers);
IList<byte[]> buffers2 = params2.Serialize(int.MaxValue);
Assert.AreEqual(expected, buffers2[0]);
// check for serialization into multiple buffers
// of different sizes
for(int chunkSize = 4;
chunkSize != expected.Length;
chunkSize += 4)
{
IList<byte[]> buffers3 = parameters.Serialize(chunkSize);
int i = 0;
foreach(byte[] buffer in buffers3)
{
Assert.IsTrue(buffer.Length <= chunkSize);
foreach(byte b in buffer)
{
Assert.IsTrue(b == expected[i++]);
}
}
}
}