我正在研究从sbyte[]转换为byte[]的几种方法。
我看到最常见的方法如下:
1.
sbyte[] signed = { -2, -1, 0, 1, 2 };
byte[] unsigned = (byte[]) (Array)signed;
2.
sbyte[] signed = { -2, -1, 0, 1, 2 };
byte[] unsigned = new byte[signed.Length];
Buffer.BlockCopy(signed, 0, unsigned, 0, signed.Length);
3.
byte[] dest = Array.ConvertAll(sbyteArray, (a) => (byte)a);
这些方法有哪些优缺点?举个例子,我收到一张图像的sbyte[]格式,希望使用Image类将该图像保存到磁盘上。
Image pic = Image.FromStream(new MemoryStream((byte[]) ((Array) sbyteArr)));