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