本文整理汇总了C#中SerializationReader.Read方法的典型用法代码示例。如果您正苦于以下问题:C# SerializationReader.Read方法的具体用法?C# SerializationReader.Read怎么用?C# SerializationReader.Read使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SerializationReader
的用法示例。
在下文中一共展示了SerializationReader.Read方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestUTF16Chars
public void TestUTF16Chars()
{
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms, new UnicodeEncoding()))
using (SerializationReader sr = new SerializationReader(ms, new UnicodeEncoding()))
{
for (int i = 0; i < 55296; i++)
sw.Write((char)i);
sw.Flush();
ms.Position = 0;
for (int i = 0; i < 55296; i++)
Assert.AreEqual((char)i, sr.Read<char>());
}
}
示例2: TestASCIIString
public void TestASCIIString()
{
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms, new ASCIIEncoding()))
using (SerializationReader sr = new SerializationReader(ms, new ASCIIEncoding()))
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 128; i++)
sb.Append((char)i);
string res = sb.ToString();
sw.Write(res);
sw.Flush();
ms.Position = 0;
Assert.AreEqual(res, sr.Read<string>());
}
}
示例3: TestBytes
public void TestBytes()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
byte[] values = new byte[Config.MULTI_TEST_COUNT];
rand.NextBytes(values);
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
sw.Write(values[i]);
sw.Flush();
ms.Position = 0;
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
Assert.AreEqual(values[i], sr.Read<byte>());
}
}
示例4: TestBasicArray
public void TestBasicArray()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
int[] array = new int[Config.MULTI_TEST_COUNT];
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
array[i] = rand.Next(int.MinValue, int.MaxValue);
sw.Write(array);
sw.Flush();
ms.Position = 0;
int[] ret = sr.Read<int[]>();
for (int i = 0; i < ret.Length; i++)
Assert.AreEqual(array[i], ret[i]);
}
}
示例5: TestBasicDictionary
public void TestBasicDictionary()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
Dictionary<int, float> dict = new Dictionary<int, float>(Config.MULTI_TEST_COUNT);
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
dict[rand.Next(int.MinValue, int.MaxValue)] = (float)rand.NextDouble();
sw.Write(dict);
sw.Flush();
ms.Position = 0;
Dictionary<int, float> ret = sr.Read<Dictionary<int, float>>();
foreach (KeyValuePair<int, float> kvp in dict)
Assert.AreEqual(kvp.Value, ret[kvp.Key]);
}
}
示例6: TestBasicList
public void TestBasicList()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
List<int> list = new List<int>(Config.MULTI_TEST_COUNT);
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
list.Add(rand.Next(int.MinValue, int.MaxValue));
sw.Write(list);
sw.Flush();
ms.Position = 0;
List<int> ret = sr.Read<List<int>>();
for (int i = 0; i < list.Count; i++)
Assert.AreEqual(list[i], ret[i]);
}
}
示例7: TestBools
public void TestBools()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
bool[] values = new bool[Config.MULTI_TEST_COUNT];
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
{
values[i] = rand.Next(0, 2) == 1;
sw.Write(values[i]);
}
sw.Flush();
ms.Position = 0;
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
Assert.AreEqual(values[i], sr.Read<bool>());
}
}
示例8: TestDateTimes
public void TestDateTimes()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
DateTime[] values = new DateTime[Config.MULTI_TEST_COUNT];
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
{
values[i] = new DateTime(rand.Next(1970, 5623), rand.Next(1, 13), rand.Next(1, 29), rand.Next(0, 24), rand.Next(0, 60), rand.Next(0, 60), DateTimeKind.Utc);
sw.Write(values[i]);
}
sw.Flush();
ms.Position = 0;
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
Assert.AreEqual(values[i], sr.Read<DateTime>());
}
}
示例9: TestFloats
public void TestFloats()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
float[] values = new float[Config.MULTI_TEST_COUNT];
byte[] bytes = new byte[4];
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
{
rand.NextBytes(bytes);
values[i] = BitConverter.ToSingle(bytes, 0);
sw.Write(values[i]);
}
sw.Flush();
ms.Position = 0;
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
{
float result = sr.Read<float>();
Assert.IsTrue(values[i] != values[i] || result == values[i]);
}
}
}
示例10: TestObjects
public void TestObjects()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
object[] values = new object[6];
values[0] = rand.Next(int.MinValue, int.MaxValue);
values[1] = "test";
values[2] = EnumTests.ByteEnum.h;
values[3] = 0.0002f;
values[4] = 0.1234d;
values[5] = (decimal)1000;
sw.Write(values[0]);
sw.Write(values[1]);
sw.Write(values[2]);
sw.Write(values[3]);
sw.Write(values[4]);
sw.Write(values[5]);
sw.Flush();
ms.Position = 0;
for (int i = 0; i < values.Length; i++)
{
if (i == 2)
Assert.AreEqual(values[i], (EnumTests.ByteEnum)sr.Read<object>());
else
Assert.AreEqual(values[i], sr.Read<object>());
}
}
}
示例11: TestComplexArray
public void TestComplexArray()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
SIBFClass[] array = new SIBFClass[Config.MULTI_TEST_COUNT];
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
{
array[i] = new SIBFClass()
{
S = "test" + i,
IBF = new IBFClass()
{
I = rand.Next(int.MinValue, int.MaxValue),
B = rand.Next(2) == 1,
F = (float)rand.NextDouble()
}
};
}
sw.Write(array);
sw.Flush();
ms.Position = 0;
SIBFClass[] ret = sr.Read<SIBFClass[]>();
for (int i = 0; i < ret.Length; i++)
{
Assert.AreEqual(array[i].S, ret[i].S);
Assert.AreEqual(array[i].IBF.I, ret[i].IBF.I);
Assert.AreEqual(array[i].IBF.B, ret[i].IBF.B);
Assert.AreEqual(array[i].IBF.F, ret[i].IBF.F);
}
}
}
示例12: ReadFromStream
public void ReadFromStream(SerializationReader sr)
{
S = sr.Read<string>();
IBF = sr.Read<IBFClass>();
}
示例13: TestComplexList
public void TestComplexList()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
List<SIBFClass> list = new List<SIBFClass>(Config.MULTI_TEST_COUNT);
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
{
list.Add(new SIBFClass()
{
S = "test" + i,
IBF = new IBFClass()
{
I = rand.Next(int.MinValue, int.MaxValue),
B = rand.Next(2) == 1,
F = (float)rand.NextDouble()
}
});
}
sw.Write(list);
sw.Flush();
ms.Position = 0;
List<SIBFClass> ret = sr.Read<List<SIBFClass>>();
for (int i = 0; i < list.Count; i++)
{
Assert.AreEqual(list[i].S, ret[i].S);
Assert.AreEqual(list[i].IBF.I, ret[i].IBF.I);
Assert.AreEqual(list[i].IBF.B, ret[i].IBF.B);
Assert.AreEqual(list[i].IBF.F, ret[i].IBF.F);
}
}
}
示例14: TestComplexDictionary
public void TestComplexDictionary()
{
Random rand = new Random();
using (MemoryStream ms = new MemoryStream())
using (SerializationWriter sw = new SerializationWriter(ms))
using (SerializationReader sr = new SerializationReader(ms))
{
Dictionary<int, SIBFClass> dict = new Dictionary<int, SIBFClass>(Config.MULTI_TEST_COUNT);
for (int i = 0; i < Config.MULTI_TEST_COUNT; i++)
{
dict[rand.Next(int.MinValue, int.MaxValue)] = new SIBFClass()
{
S = "test" + i,
IBF = new IBFClass()
{
I = rand.Next(int.MinValue, int.MaxValue),
B = rand.Next(2) == 1,
F = (float)rand.NextDouble()
}
};
}
sw.Write(dict);
sw.Flush();
ms.Position = 0;
Dictionary<int, SIBFClass> ret = sr.Read<Dictionary<int, SIBFClass>>();
foreach (KeyValuePair<int, SIBFClass> kvp in dict)
{
Assert.AreEqual(kvp.Value.S, ret[kvp.Key].S);
Assert.AreEqual(kvp.Value.IBF.I, ret[kvp.Key].IBF.I);
Assert.AreEqual(kvp.Value.IBF.B, ret[kvp.Key].IBF.B);
Assert.AreEqual(kvp.Value.IBF.F, ret[kvp.Key].IBF.F);
}
}
}
示例15: TestOutOfRange
public void TestOutOfRange()
{
using (MemoryStream ms = new MemoryStream())
using (SerializationReader sr = new SerializationReader(ms))
{
sr.Read<bool>();
sr.Read<byte>();
sr.Read<char>();
sr.Read<short>();
sr.Read<int>();
sr.Read<long>();
sr.Read<float>();
sr.Read<double>();
sr.Read<decimal>();
sr.Read<DateTime>();
sr.Read<string>();
sr.Read<TestEnum>();
sr.Read<string[]>();
sr.Read<List<string>>();
sr.Read<Dictionary<int, string>>();
sr.Read<TestSerializable>();
}
}