将字节对转换为浮点数

时间:2016-06-03 04:10:22

标签: c#

任何人都有与以下代码相当(并且更漂亮)的东西吗?

private static float[] PairsOfBytesToFloats(byte[] bytes)
{
    if (bytes.Length.IsNotAMultipleOf(2)) throw new ArgumentException();

    float[] result = new float[bytes.Length / 2];

    for (int i = 0; i < bytes.Length; i += 2)
    {
        result[i / 2] = BitConverter.ToUInt16(bytes, i);
    }

    return result;
}

2 个答案:

答案 0 :(得分:0)

也许有点LINQ:

showTalk()

答案 1 :(得分:0)

我建议您使用Buffer.BlockCopy方法而不是循环:

Buffer.BlockCopy(bytes, 0, result, 0, bytes.Length);