Linq用“where in”子句来收集

时间:2014-03-20 08:30:50

标签: linq

我有2个列表[收藏]

示例:

  • ListA有100个字符串键
  • ListB有50个字符串键

现在我想在ListA上写一个linq查询,我想找到ListB中的公共密钥

请帮忙

1 个答案:

答案 0 :(得分:2)

以此为例:

//Define 2 Lists
var ListA = new List<string>();
var ListB = new List<string>();

for(int i = 0; i < 100; i++)
{
    //if counter smaller 50 add to both lists
    if(i < 50)
    {
        ListA.Add("Value"+i);
        ListB.Add("Value"+i);
    }
    //add only to listA 
    else
        ListA.Add("Value"+i);
}
//ListA ranges from 0 to 99
//ListB ranges from 0 to 49
var result = ListA.Intersect(ListB);

结果的输出将是IEnumerable<string>,其值范围从Value0到Value49,因为这些是两个列表中的键。