C#里怎么取一个byte[]数组的中间几位?取出之后组成一个新的byte[]数组。
比如说有byte[]a={0xAA,55,46,56,66,0x5F,0x7D};我现在想得到byte[]b={46,56,66}请问怎么办...
比如说有byte[] a = { 0xAA, 55, 46,56,66,0x5F, 0x7D };
我现在想得到byte[]b={46,56,66} 请问怎么办 展开
我现在想得到byte[]b={46,56,66} 请问怎么办 展开
4个回答
展开全部
对数组进行循环是最能让人想到,而且也是最不可取的!因为效率太低了!
可以考虑转换为IEnumerable<byte>开式,使用lambda表达式去取,虽然表面上没有循环了,但事实上程序转换后还是有循环的存在的,效率没有提高,但开发效率可以提高的。
可以使用StringBuild,将其数据全部装入,然后可以截断指定的byte,这种效率最好。
可以考虑转换为IEnumerable<byte>开式,使用lambda表达式去取,虽然表面上没有循环了,但事实上程序转换后还是有循环的存在的,效率没有提高,但开发效率可以提高的。
可以使用StringBuild,将其数据全部装入,然后可以截断指定的byte,这种效率最好。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte[] b = new byte[3];
Array.Copy(a, 2, b, 0, 3); //从a的第二个开始复制到b的第0个,一共复制三个元素
Array.Copy(a, 2, b, 0, 3); //从a的第二个开始复制到b的第0个,一共复制三个元素
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我来学习下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询