Estoy tratando de usar LINQ para recuperar algunos datos de un diccionario.Uso de Lambda con diccionarios
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");
Las líneas anteriores, q1 y q2, ambas dan como resultado un error de compilación.
error CS0742: A query body must end with a select clause or a group clause
¿Cómo hago para usar LINQ para encontrar valores en un diccionario?
Gracias,
Rick
Solo para aclarar, la razón por la que esto funciona es que el diccionario actúa como un IEnumerable> –
segunda expresión también debe tener Valor PD == "Apple", como p será un Par <,>. – Richard
Esos obtendrán una expresión que devuelve un resultado IEnumerable. Si realmente desea el objeto real, tiene que llamar a Single() o First() –