NOTA: Prima di leggere o fornire una risposta, so di Enumerable.Distinct
, chiedo sul supporto lingua specifica per questo metodo, non sul metodo stesso.Perché LINQ non include una parola chiave `distinct`?
Mi sono sempre chiesto il motivo per cui non v'è alcun distinct
parola chiave nel C# LINQ set di parole chiave in modo che ho potuto scrivere:
var items = distinct from x in y
select x;
o
var items = from x in y
select distinct x;
Qualcuno sa il motivo per cui questo non è stato incluso o perché sarebbe una cattiva idea includerlo? Mi sembra semplicemente ingombrante che devo completare la query solo per chiamare Distinct()
; una parola chiave distinct
si sentirebbe più naturale.
NOTA: So che il metodo Distinct
ha l'override per fornire un confronto se è necessario, ma una parola chiave che utilizza il confronto predefinito sarebbe ottima. Potrei anche immaginare una combinazione distinct by
parola chiave in modo che un operatore di confronto potrebbe essere fornito in linea alla query.
Vorrei che avessimo troppo. Sarebbe molto più leggibile, ed è ragionevolmente usato. –
@qstarin: ho fatto la domanda perché ne avevo bisogno per la quinta volta in 2 giorni. –
Forse dovremmo avviare un gruppo facebook "parola chiave distinta per C#". Ha ottenuto Betty White su SNL ... –