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());
}
c#
.net
linq
dictionary
Scott Ivey
sumber
sumber
Jawaban:
Gunakan
ToDictionary
metode ini secara langsung.sumber
Lihatlah metode
ToLookup
dan / atauToDictionary
ekstensi.sumber