public unsafe void CharPeek() { byte[] data; using (MemoryStream ms = new MemoryStream()) { using (BinaryWriter writer = new BinaryWriter(ms)) for (int count = 0; count < 0xD800; count++) { writer.Write((char)count); } data = ms.ToArray(); } fixed(byte *pData = data) { UnsafeBinaryMemoryReader reader = new UnsafeBinaryMemoryReader(pData); for (int count = 0; count < 0xD800; count++) { Assert.AreEqual(reader.PeekChar(), (char)count, "UnsafeBinaryMemoryReader Char incompatible to BinaryWriter."); reader.ReadChar(); } } }