Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取distinct(IEqualityComparer comparer comparer)的结果_C#_Linq - Fatal编程技术网

C# 获取distinct(IEqualityComparer comparer comparer)的结果

C# 获取distinct(IEqualityComparer comparer comparer)的结果,c#,linq,C#,Linq,作为一名LINQ初学者,我想知道为什么没有人在文章中提到必须执行查询才能得到结果。换句话说,就是打电话 i人数=…;//这里有数据库电话吗 var distinctppeople=people.distinct新属性comparerfirstname; 不会触发PropertyComparer中特定EqualsTx、Ty和GetHashCodeT obj方法的执行 扩展结果视图的消息将枚举调试器中的IEnumerable,这给了我提示。现在,我可以在distinctPeople中使用类似fore

作为一名LINQ初学者,我想知道为什么没有人在文章中提到必须执行查询才能得到结果。换句话说,就是打电话 i人数=…;//这里有数据库电话吗 var distinctppeople=people.distinct新属性comparerfirstname; 不会触发PropertyComparer中特定EqualsTx、Ty和GetHashCodeT obj方法的执行


扩展结果视图的消息将枚举调试器中的IEnumerable,这给了我提示。现在,我可以在distinctPeople中使用类似foreach var dp的方法来获得结果吗

这与IEqualityComparer毫无关系。它完全基于您提供给Distinct的方法。与所有返回IEnumerable的LINQ方法一样,Distinct方法尽可能延迟执行,仅在实际需要时执行计算结果所需的工作。

问题是什么?如何在IEnumerable上使用Distinct?至于为什么没人提到它——LINQ中几乎所有的东西都是懒惰的。这里没有什么特别的。在关于LINQ的每一个问题的每一个答案中都提到这一点是没有意义的。对我来说,LINQ.感觉基于观点/太宽泛了。这对meta来说可能是一个更好的问题——一个人对特定解决方案的解释有多深。也就是说,目标是完全初学者还是应该停止解释当前级别的调用。@JordyvanEijk:我正在研究equals和GetHashCode方法,不明白为什么在调用人员时不调用它们。Distinctnew comparerFirstname。现在事情变得更清楚了。