LƯU Ý: Trước khi bạn đọc hoặc cung cấp câu trả lời, tôi biết về Enumerable.Distinct
, tôi hỏi về hỗ trợ ngôn ngữ cụ thể cho phương thức đó, không phải về chính phương thức đó.Tại sao LINQ không bao gồm từ khóa `khác biệt`?
Tôi luôn tự hỏi tại sao không có distinct
từ khóa trong C# LINQ từ khóa thiết lập để cho tôi có thể viết:
var items = distinct from x in y
select x;
hoặc
var items = from x in y
select distinct x;
Bất kỳ ai biết tại sao điều này không bao gồm hoặc tại sao nó sẽ là một ý tưởng tồi để bao gồm nó? Nó chỉ cảm thấy cồng kềnh với tôi rằng tôi phải quấn truy vấn chỉ để gọi Distinct()
; một từ khóa distinct
sẽ cảm thấy tự nhiên hơn.
LƯU Ý: Tôi biết rằng phương pháp Distinct
có ghi đè để cung cấp bộ so sánh nếu cần, nhưng từ khóa sử dụng trình so sánh mặc định sẽ là tuyệt vời. Tôi thậm chí có thể tưởng tượng một sự kết hợp từ khóa distinct by
để một toán tử so sánh có thể được cung cấp nội tuyến cho truy vấn.
Tôi muốn chúng tôi đã có nó quá. Sẽ dễ đọc hơn nhiều, và nó được sử dụng hợp lý. –
@qstarin: Tôi đã đặt câu hỏi vì tôi cần nó lần thứ 5 trong 2 ngày. –
Có lẽ chúng ta nên bắt đầu một nhóm từ khóa "riêng biệt cho C#". Nó có Betty White trên SNL ... –