C#怎么取出byte数组中的某几位并组成一个新的数组

时间:2022-07-08 11:49:56
如题··
C#怎么取出byte数组中的某几位并组成一个新的数组

8 个解决方案

#1


            var list = bytearray.Skip(1).Take(4);

#2


Array.Copy

#3


按位与,按位或,左移,右移

#4


new一个新的数组,然后用当前数组的CopyTo方法,复制到新数组中去。

#5


引用 2 楼 bdmh 的回复:
Array.Copy


额·
这样啊··很麻烦呢··
这样哈 我有一个byte[32]
然后 我要每八位组成一个新的数组··如果 按照你说的那样  很麻烦呢···
能不能有什么更简单的方法?

#6


如果你产生这新数组不是最终的目的,而只是中间过场变量,那么你就应该考虑用ArraySegment<T>来处理,那个可以提供高性能。至于Array.Copy或者CopyTo方法是最快的方法,微软自己的dll都是用的这些方法在扩充IList集合大小的。

#7


引用 6 楼 qldsrx 的回复:
如果你产生这新数组不是最终的目的,而只是中间过场变量,那么你就应该考虑用ArraySegment<T>来处理,那个可以提供高性能。至于Array.Copy或者CopyTo方法是最快的方法,微软自己的dll都是用的这些方法在扩充IList集合大小的。


师兄 请明示

#8


引用 4 楼 qldsrx 的回复:
new一个新的数组,然后用当前数组的CopyTo方法,复制到新数组中去。

+1

#1


            var list = bytearray.Skip(1).Take(4);

#2


Array.Copy

#3


按位与,按位或,左移,右移

#4


new一个新的数组,然后用当前数组的CopyTo方法,复制到新数组中去。

#5


引用 2 楼 bdmh 的回复:
Array.Copy


额·
这样啊··很麻烦呢··
这样哈 我有一个byte[32]
然后 我要每八位组成一个新的数组··如果 按照你说的那样  很麻烦呢···
能不能有什么更简单的方法?

#6


如果你产生这新数组不是最终的目的,而只是中间过场变量,那么你就应该考虑用ArraySegment<T>来处理,那个可以提供高性能。至于Array.Copy或者CopyTo方法是最快的方法,微软自己的dll都是用的这些方法在扩充IList集合大小的。

#7


引用 6 楼 qldsrx 的回复:
如果你产生这新数组不是最终的目的,而只是中间过场变量,那么你就应该考虑用ArraySegment<T>来处理,那个可以提供高性能。至于Array.Copy或者CopyTo方法是最快的方法,微软自己的dll都是用的这些方法在扩充IList集合大小的。


师兄 请明示

#8


引用 4 楼 qldsrx 的回复:
new一个新的数组,然后用当前数组的CopyTo方法,复制到新数组中去。

+1