注意:在您閱讀或提供答案之前,我知道Enumerable.Distinct
,我在詢問該方法的特定語言支持,而不是方法本身。爲什麼LINQ不包含「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
關鍵字組合,以便比較運算符可以內聯提供給查詢。
我希望我們能有這一點。會更加可讀,而且它經常被使用。 – 2010-11-12 17:19:44
@qstarin:我問了這個問題,因爲我在2天內第5次需要它。 – 2010-11-12 17:21:17
也許我們應該爲C#開發一個「獨特的關鍵字」facebook組織。它在SNL上得到了Betty White ... – 2010-11-12 17:30:40