使用LINQ通过索引加入

时间:2014-01-04 01:01:40

标签: c# linq

我有2个字节的数组

var Bytes =new byte[20];
var Indecies =new byte[20];

我刚开始玩LINQ,我需要将它们连接到一起来创建一个对象。

public ArrayObject
{
   public byte index{get;set;}
   public byte value{get;set;}
}

所以这就是我开始的方式

var list = from b in Bytes 
           join i in Indecies 
           select new ArrayObject()
               { index=i, value=b }

但我似乎无法确定ON部分的内容,在一个循环中它将是

for (int i = 0; i < 20; i++)
{
    list.Add(new ArrayObject() { value = Bytes[i], index = indecies[i] });
}

如何通过Linq中的数组索引加入?

1 个答案:

答案 0 :(得分:4)

不是很好的LINQ语法,但是......

var list = Indecies.Zip(Bytes, (i, b) => new ArrayObject() { value = b, index = i }).ToList();

您可以在MSDN上了解Zip