Currently looking to interface a Java and a C# application. In Java I can use getShort(), getFloat() etc, to get various different data types from the buffer.

In C# I am using a MemoryStream, but there is only a single get() function. Does anybody know of a datatype or even a class that would mimic this functionality?

有帮助吗?

解决方案

You can wrap your MemoryStream in a BinaryReader:

using(var reader = new BinaryReader(yourStream)) {
   int someInt = reader.ReadInt32();  
}

The BinaryReader can be found in the System.IO namespace.

See MSDN for details on which methods you can use. Keep in mind that the methods follow the pattern of Read + the CLR type. So ReadInt32() for int, ReadUInt16() for short, etc.

其他提示

You're looking for the BinaryReader class, which can read from any stream.

You can also use BitConverter, which operates directly on byte arrays.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top