从两套
var set1 =new int[] { 1, 2, 3 };
var set2 =new int[] { 100, 200, 300 };
如何检查set1和set 2中元素的索引值? if set1的元素的索引值 等于set2元素的索引值,然后我希望那对像
{1,100} ,{2,200},{3,300}.
一些不完整的代码
var pairs=from n1 in set1
from n2 in (from num in set2 where ((num1,index)=> );
答案 0 :(得分:2)
例如,你可以这样做:
var pairs=
set1.Select((item, index) => new
{
n1= item, n2= set2[index]
}).ToArray();
或者如果set2没有索引器,请按如下方式获取n2:
n2 = set2.Skip(index).Take(1).Single()
答案 1 :(得分:2)
这称为“zip”操作。您可以阅读更多相关信息in this earlier Stack Overflow post。
答案 2 :(得分:1)
看看这个
int[] set1 = {1, 2, 3};
int[] set2 = {100, 200, 300};
var t = from i1 in set1
from i2 in set2
where Array.IndexOf(set1, i1) == Array.IndexOf(set2, i2)
select new int[] { i1, i2 };
答案 3 :(得分:0)
我假设您只想加入这两个数组。我就是这样做的
var pairs=from n1 in set1
from n2 in set2
select new
{
n1,
n2
}
这将返回两个组合。这假设两个集合都已经排序。