使用linq添加两个IEnumerable

时间:2012-09-26 15:01:28

标签: c# linq optimization ienumerable addition

我想使用Linq添加两个IEnumerable

示例:

class Calcul
{
    public static IEnumerable<int> Add(IEnumerable<int> firstList, 
                                       IEnumerable<int> secondList)
    {
    }
}

在Add函数中,我想从这些列表中添加成员,我知道可以通过使用Linq(lambda表达式)减少一行。我想知道如何。

感谢。

2 个答案:

答案 0 :(得分:8)

您可以使用Zip

return firstList.Zip(secondList, (a, b) => a + b);

答案 1 :(得分:2)

您可以使用Enumerable.Concat

var result = firstList.Concat(secondList);

如果要创建新列表,可以使用Enumerable.ToList

List<int> both = result.ToList();

如果您想删除重复项,可以使用Enumerable.Union代替Concat