Tengo una colección de MyClass que me gustaría consultar usando LINQ para obtener valores distintos, y obtener un Diccionario <string, string> como resultado, pero no puedo entender cómo puedo hacerlo de una manera más simple que yo Estoy haciendo abajo. ¿Cuál sería un código más limpio que pueda usar para obtener el Diccionario <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
fuente
fuente
Respuestas:
Usa el
ToDictionary
método directamente.fuente
Mira los métodos de extensión
ToLookup
y / oToDictionary
.fuente