J'ai une collection de MyClass que j'aimerais interroger à l'aide de LINQ pour obtenir des valeurs distinctes et récupérer un dictionnaire <chaîne, chaîne> comme résultat, mais je ne peux pas comprendre comment je peux le faire plus simplement que moi fais ci-dessous. Quel code plus propre serais-je en mesure d'utiliser pour obtenir le dictionnaire <chaîne, chaîne> comme résultat?
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
la source
la source
Réponses:
Utilisez
ToDictionary
directement la méthode.la source
Regardez les méthodes
ToLookup
et / ou d'ToDictionary
extension.la source