我可以在C#中创建int.frombytes(byte []字节)扩展方法



我可以在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);
    }
}

相关内容

最新更新