Tôi có một bộ sưu tập MyClass mà tôi muốn truy vấn bằng cách sử dụng LINQ để nhận các giá trị riêng biệt và lấy lại từ điển <chuỗi, chuỗi>, nhưng tôi không thể tìm ra cách nào tôi có thể làm điều đó đơn giản hơn tôi Tôi đang làm dưới đây. Một số mã sạch hơn mà tôi có thể sử dụng để lấy Từ điển <chuỗi, chuỗi> làm kết quả của tôi là gì?
var desiredResults = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
var queryResults = (from MyClass mc in myClassCollection
                    orderby bp.SomePropToSortOn
                    select new KeyValuePair<string, string>(mc.KeyProp, mc.ValueProp)).Distinct();
foreach (var item in queryResults)
{
    desiredResults.Add(item.Key.ToString(), item.Value.ToString());
}
          
                
                6
              
                  Bạn muốn nó làm gì với các phím trùng lặp? Chỉ cần lấy cái đầu tiên và bỏ qua những cái tiếp theo? Xin lưu ý rằng từ điển không được đặt hàng, vì vậy việc đặt hàng trong truy vấn của bạn sẽ không có hiệu lực ...
                
                
                  
                    —
                    Jon Skeet 
                    
                  
                
              
                  Có lẽ những gì bạn đang tìm kiếm là việc triển khai Sắp xếp từ điển của IDadata. Mặt khác, việc sắp xếp từ điển là vô nghĩa.
                
                
                  
                    —
                    Fede