有没有更可爱的方法来做到这一点?给定一个字节流,将其转换为所需的数字类型。
(假设调用代码将处理与流中字节数相关的数据类型)。
public void GetValue(byte[] bytes, ref UInt16 value)
{
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
value = BitConverter.ToUInt16(bytes, 0);
}
public void GetValue(byte[] bytes, ref UInt32 value)
{
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
value = BitConverter.ToUInt32(bytes, 0);
}
public void GetValue(byte[] bytes, ref UInt64 value)
{
if (BitConverter.IsLittleEndian)
Array.Reverse(bytes);
value = BitConverter.ToUInt64(bytes, 0);
}
etc...
我想有一个更好的方法,例如通过切换值的类型,而不是复制重载。