У мене є колекція MyClass, яку я б хотів запитувати за допомогою LINQ, щоб отримати чіткі значення, і як результат отримати словник <string, string>, але я не можу зрозуміти, як я можу це зробити простіше, ніж я роблю нижче. Що таке чистіший код, який я можу використати, щоб отримати Словник <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());
}
6
Що ви хочете, щоб це було з дублюючими ключами? Просто візьміть перший і ігноруйте наступні? Будьте в курсі, що словники не впорядковані, тому ваше замовлення у запиті не матиме ефекту ...
—
Jon Skeet
Можливо, те, що ви шукаєте, це SortedDictionary реалізація IDictionary. Інакше сортування словника безглуздо.
—
Федерація