可能重复:
LINQ在两个列表中找到差异
我想找到2系列之间的区别.所以我Except在LINQ语句中使用.但Except似乎只有在第一个集合长于第二个集合时才有效.例如,即使2个集合不同,也不会返回任何结果.
double[] numbers1 = { 2.0, 2.1, 2.2, 2.3, 2.4, 2.5 };
double[] numbers2 = { 2.2 };
IEnumerable<double> onlyInFirstSet = numbers2.Except(numbers1);
Run Code Online (Sandbox Code Playgroud)
任何人都可以确认是否是这种情况?如果是这样,在编写查询之前是否必须检查集合长度,因为我不知道哪个集合在编译时会更大.
编辑
我想我的问题并不清楚.我不关心哪个集合包含什么.我只是想找到两个系列之间的区别.我怎样才能做到这一点?
我想看看是否把一个 .ToList()上IEnumerable这可能是也可能不是一个名单将收取一定的性能损失,如果Object已经是一个List。
我的目标是查看源代码。这就是问题隧道的起点。首先我找到SO问题在哪里可以查看LINQ源代码?[关闭]这导致了DOTNet的完整框架版本,但深入研究代码仅显示了一个小的Enumerable类Enumerable。
题
以下扩展方法的源代码在哪里?
public static List<TSource> ToList<TSource>(this IEnumerable<TSource> source);
Run Code Online (Sandbox Code Playgroud)
子问题1完整框架版本在哪里?
子问题2 .net核心版本在哪里?