一尘不染

除了具有与Distinct相似的作用?

c#

我刚刚发现Except()它将第二个列表中的所有元素从第一个列表中删除,但是它还具有使返回结果中的所有元素与众不同的效果。

我正在使用的简单方法是 Where(v => !secondList.Contains(v))

谁能向我解释为什么会这样,如果可以的话,请指向解释此问题的文档?


阅读 250

收藏
2020-05-19

共1个答案

一尘不染

Except函数的文档指出:

通过使用默认的相等比较器比较值来产生两个序列的集合差异。

两组的组差异定义为第一组中没有出现在第二组中的成员。

这里的重要词是 set
,其定义为:

可以存储某些值而没有任何特定顺序且没有重复值的抽象数据结构

因为Except已记录为基于集合的操作,所以它还具有使结果值与众不同的效果。

2020-05-19