J'essaie d'utiliser LINQ pour extraire des données d'un dictionnaire.Utilisation de Lambda avec des dictionnaires
var testDict = new Dictionary<int, string>();
testDict.Add(1, "Apple");
testDict.Add(2, "Cherry");
var q1 = from obj in testDict.Values.Where(p => p == "Apple");
var q2 = from obj in testDict.Where(p => p.Value == "Apple");
Les lignes ci-dessus, Q1 et Q2, à la fois en raison d'une erreur du compilateur.
error CS0742: A query body must end with a select clause or a group clause
Comment puis-je utiliser LINQ pour trouver des valeurs dans un dictionnaire?
Merci,
Rick
Juste pour clarifier, la raison pour laquelle cela fonctionne est que les actes comme un dictionnaire IEnumerable> –
deuxième expression devrait aussi avoir Val.par == « Apple » comme p sera une paire <,>. – Richard
Vous obtiendrez une expression qui renvoie un résultat IEnumerable. Si vous voulez réellement l'objet réel, vous devez appeler Single() ou First() –