Farklı değerler elde etmek ve sonuç olarak bir Sözlük <dize, dize> geri almak için LINQ kullanarak sorgulamak istiyorum MyClass bir koleksiyon var, ama nasıl daha basit herhangi bir şey yapabilirim anlayamıyorum Aşağıda yapıyorum. Sonuç olarak Dictionary <string, string> almak için kullanabileceğim bazı temiz kodlar ne olurdu?
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
Yinelenen anahtarlarla ne yapmasını istiyorsunuz? Sadece ilkini al ve sonra gelenleri görmezden gel? Sözlüklerin sipariş edilmediğini unutmayın, bu nedenle sorgudaki siparişinizin hiçbir etkisi olmayacaktır ...
—
Jon Skeet
Belki de aradığınız şey IDictionary SortedDictionary uygulamasıdır. Aksi takdirde bir Sözlük üzerindeki sıralama anlamsızdır.
—
Fede