Eu tenho uma coleção de MyClass que gostaria de consultar usando LINQ para obter valores distintos e retornar um Dictionary <string, string> como resultado, mas não consigo descobrir como fazê-lo de maneira mais simples do que eu. estou fazendo abaixo. Qual seria um código mais limpo que eu possa usar para obter o Dictionary <string, string> como resultado?
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
fonte
fonte
Respostas:
Use o
ToDictionary
método diretamente.fonte
Veja os métodos
ToLookup
e / ouToDictionary
extensão.fonte