Saya memiliki koleksi MyClass yang ingin saya kueri menggunakan LINQ untuk mendapatkan nilai yang berbeda, dan mendapatkan kembali Kamus <string, string> sebagai hasilnya, tapi saya tidak tahu bagaimana saya bisa melakukannya lebih sederhana daripada saya sedang melakukan di bawah ini. Apa kode pembersih yang dapat saya gunakan untuk mendapatkan Kamus <string, string> sebagai hasil saya?
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
Apa yang ingin Anda lakukan dengan kunci duplikat? Ambil saja yang pertama dan abaikan yang berikutnya? Sadarilah bahwa kamus tidak memerintahkan, sehingga pemesanan Anda di query tidak akan berpengaruh ...
—
Jon Skeet
Mungkin yang Anda cari adalah implementasi IDedtionary dari SortedDictionary. Kalau tidak, pengurutan Kamus tidak ada gunanya.
—
Fede