是否有一种简单的方法可以将整数数组转换为字节数组?
本质上,我想做以下事情(不能按原样工作):
int[] myIntArray = new int[20];
byte[] byteArray = (byte[])myInArray;
这样做的原因是在我的应用程序中,myIntArray实际上是一个byte [],但是被声明为int []。意味着仅关注myIntArray中的最低有效字节。
答案 0 :(得分:4)
您可能认为这会起作用:
byte[] myByteArray = myIntArray.Cast<byte>().ToArray();
但是没有-请参见Why Enumerable.Cast raises an InvalidCastException?
尽管可以使用Select
投影到新数组。
byte[] myByteArray = myIntArray.Select(i => (byte)i).ToArray();
答案 1 :(得分:3)
尝试使用Linq Select
byte[] byteArray = myIntArray.Select(i=> (byte)i).ToArray();