注意:在您继续阅读或提供答案之前,我知道 Enumerable.Distinct
,我问的是该方法的特定语言支持,而不是方法本身。
我一直想知道为什么在 C# LINQ 关键字集中没有 distinct
关键字,这样我就可以这样写:
var items = distinct from x in y
select x;
或
var items = from x in y
select distinct x;
有人知道为什么没有包含它或者为什么包含它是个坏主意吗?我觉得很麻烦,我必须包装查询才能调用 Distinct()
; distinct
关键字会感觉更自然。
注意:我知道 Distinct
方法有重写以在需要时提供比较器,但是使用默认比较器的关键字会很棒。我什至可以想象一个 distinct by
关键字组合,以便可以内联查询提供比较运算符。
最佳答案
在VB中,其实是。
Dim l = From x In {1, 2, 3, 2, 4, 2} Distinct Select x
我不怀疑有一些积极的决定反对 C# 的 distinct
,它只是尚未实现。
关于c# - 为什么 LINQ 不包含 `distinct` 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4167236/