相关疑难解决方法(0)

在基本类型和原始字节之间转换的正确方法?

我需要将简单类型序列化到预定义消息传递协议的二进制缓冲区中,因此我编写了这个示例,它将 2 个字节复制到缓冲区中:

    public static int Copy(this byte[] buffer,Int16 value,int destinationIndex)
    {
        buffer[destinationIndex++] = (byte)(value >> 8);
        buffer[destinationIndex++] = (byte)(value);
        return destinationIndex;
    }
Run Code Online (Sandbox Code Playgroud)

对于C#来说感觉非常底层,它基本上是C代码,这敲响了一些警钟。这是在 .NET 中实现此目的的最佳方法还是有一些更好的框架/语言功能?我也需要一种方法来扭转它,例如:

    public static Int16 Parse(this byte[] buffer, int index)
    {
        var v = buffer[index++] << 8;
        v += buffer[index++];
        return (Int16)v;
    }
Run Code Online (Sandbox Code Playgroud)

c#

3
推荐指数
1
解决办法
797
查看次数

标签 统计

c# ×1