Farklı değerler almak için LINQ kullanarak sorgulamak istediğim bir MyClass koleksiyonum var ve sonuç olarak bir Dictionary dizgi, string> geri aldım ancak Bunu, aşağıda yaptığımdan daha kolay nasıl yapabileceğimi anlayamıyorum. Sözlük < dizesini almak için kullanabileceğim daha temiz bir kod ne olurdu?LINQ sorgusu bir Sözlük döndürür <string, string>
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());
}
Yinelenen tuşlarla ne yapmak istersiniz? İlkini al ve sonrakileri görmezden gel? Sözlüklerin sipariş edilmediğinin farkında olun, bu yüzden sorgunuzda siparişinizin hiçbir etkisi olmayacaktır ... –
Belki de aradığınız şey, IDictionary'ın SortedDictionary uygulamasıdır. Aksi halde bir Sözlük üzerinden sıralama anlamsızdır. – Fede