如何从bytes数组中选择每个第一个字节

时间:2013-04-27 09:52:44

标签: arrays linq unicode byte

我有字节数组(在这种情况下是Unicode字符)。 Unicode字符由2个字节组成,我希望得到每个第一个字节。 Linq将不胜感激。

示例:

Dim b_1() As Byte = New Byte() {208,16,32,0,49,0,122,0,32,0}

结果必须是数组{208,32,49,122,32}

1 个答案:

答案 0 :(得分:1)

首先,听起来这通常是一个坏主意。你没有说为什么你想要这样做,但这听起来像是数据丢失的秘诀。如果您拥有本质上是文本的数据,那么最好将它作为一个字符串开始。然而...

...您可以使用Where overload which takes an index

获取“每隔一个字节”
var everyOtherByte = allBytes.Where((value, index) => (index & 1) == 0);

如果你需要它作为一个数组,最后使用ToArray