是的
我可以在c#?
中创建int.frombytes(byte []字节(扩展方法我需要这样的用法:
int a = int.FromBytes(new byte[]{1,2,3,4});
我正在使用C#7.3。
实际上,我需要为Ushort数据类型进行此操作。目前,我正在使用扩展这样的方法:
public static ushort FromBytes(sbyte msb, byte lsb)
{
ushort usmsb = (byte)msb;
ushort uslsb = lsb;
return (ushort)((usmsb << 8) + uslsb);
}
我是这样使用的:
ushort x = Helpers.FromBytes(1, 2);
我无法回答我的关闭问题,所以我在这里发布了它。这就是我的做法以及我需要的事情:
// two byte tuple extension
public static ushort ToUShort(this (byte msb, byte lsb) bytes)
{
ushort usmsb = bytes.msb;
ushort uslsb = bytes.lsb;
return (ushort)((usmsb << 8) + uslsb);
}
用法:
byte byte1 = 32;
byte byte2 = 42;
ushort result = (byte1, byte2).ToUShort();
这比字节[]的扩展要好得多,因为您不能传递错误的字节数。
static public class ExtensionMethods
{
static public int ToInt32(this byte[] source)
{
return BitConverter.ToInt32(source, 0);
}
}