У меня есть коллекция 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());
}
c#
.net
linq
dictionary
Скотт Айви
источник
источник
Ответы:
Используйте
ToDictionary
метод напрямую.источник
Посмотрите на
ToLookup
и / илиToDictionary
методы расширения.источник