C# 中两个 List<> 相交

seh*_*rom 2 c# c#-4.0

我有两个List<T>想要相交的对象,但尝试时出现错误。

// Make the Keys in the Dictionary<Load, double> _loads to form a List<Load>
List<Load> l1 = _loads.Keys.ToList();

// Get a list from my element.
List<Load> l2 = element.ListLoads;

// Intersect
List<Load> loads = (List<Load>)l1.Intersect<Load>(l2);
Run Code Online (Sandbox Code Playgroud)

Pao*_*tti 6

Intersect<T>返回一个IEnumerable<T>,所以正确的方法是:

var loads = l1.Intersect(l2).ToList();
Run Code Online (Sandbox Code Playgroud)

ToList<T>List<T>从一个创建一个IEnumerable<T>

请注意,您可以在调用时省略类型参数Intersect<T>,编译器足够智能来推断它。