C# 修改此代码以读取反向endian中的字节?

C# 修改此代码以读取反向endian中的字节?,c#,byte,C#,Byte,我有一段代码,它读取一个8字节的数组并将其转换为一个int64 我想知道如何调整这段代码,使其在接收用反向endian表示的数据时工作 protected static long getLong(byte[] b, int off) { return ((b[off + 7] & 0xFFL) >> 0) + ((b[off + 6] & 0xFFL) << 8) +

我有一段代码,它读取一个8字节的数组并将其转换为一个int64

我想知道如何调整这段代码,使其在接收用反向endian表示的数据时工作

    protected static long getLong(byte[] b, int off)
    {
        return ((b[off + 7] & 0xFFL) >> 0) +
                ((b[off + 6] & 0xFFL) << 8) +
                ((b[off + 5] & 0xFFL) << 16) +
                ((b[off + 4] & 0xFFL) << 24) +
                ((b[off + 3] & 0xFFL) << 32) +
                ((b[off + 2] & 0xFFL) << 40) +
                ((b[off + 1] & 0xFFL) << 48) +
                (((long) b[off + 0]) << 56);
    }
protected static long getLong(字节[]b,int off)
{
返回((b[off+7]&0xFFL)>>0)+
((b[off+6]&0xFFL)

protected static long getLong(byte[] b, int off)
{
    return ((b[off + 0] & 0xFFL) >> 0) +
            ((b[off + 1] & 0xFFL) << 8) +
            ((b[off + 2] & 0xFFL) << 16) +
            ((b[off + 3] & 0xFFL) << 24) +
            ((b[off + 4] & 0xFFL) << 32) +
            ((b[off + 5] & 0xFFL) << 40) +
            ((b[off + 6] & 0xFFL) << 48) +
            (((long) b[off + 7]) << 56);
}
protected static long getLong(字节[]b,int off)
{
返回((b[off+0]&0xFFL)>>0)+
((b[off+1]&0xFFL)
protected static long getLong(byte[] b, int off) {
    return ((b[off    ] & 0xFFL)      ) |
           ((b[off + 1] & 0xFFL) <<  8) |
           ((b[off + 2] & 0xFFL) << 16) |
           ((b[off + 3] & 0xFFL) << 24) |
           ((b[off + 4] & 0xFFL) << 32) |
           ((b[off + 5] & 0xFFL) << 40) |
           ((b[off + 6] & 0xFFL) << 48) |
           ((b[off + 7] & 0xFFL) << 56);
}