Digamos que tengo una clase Customer
que tiene una propiedad FirstName
. Entonces tengo un List<Customer>
.
¿Se puede usar LINQ para encontrar si la lista tiene un cliente Firstname = 'John'
en una sola declaración ... cómo?
LINQ define un método de extensión que es perfecto para resolver este problema exacto:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
asegúrese de hacer referencia a System.Core.dll, ahí es donde vive LINQ.
La respuesta de zvolkov es la perfecta para saber si existe tal cliente. Si necesita utilizar al cliente después, puede hacer lo siguiente:
Sé que esto no es lo que estabas preguntando, pero pensé que preferiría una pregunta de seguimiento :) (Por supuesto, esto solo encuentra el primer cliente de este tipo ... para encontrarlos a todos, solo usa un
where
cláusula normal .)fuente
bool
resultados, así que en ese caso.Any
o.FindIndex
se usa aquí, ¿ qué es rápido ?Una opción para la siguiente pregunta (cómo encontrar un cliente que pueda tener cualquier número de nombres):
o para recuperar al cliente del csv de una lista similar
fuente
Usando Linq tienes muchas posibilidades, aquí una sin usar lambdas:
fuente
fuente
La técnica que utilicé antes de descubrir
.Any()
:fuente
John será nulo si no existe un cliente con un nombre de pila "John".
fuente
Otra posibilidad
fuente
Prueba esto, espero que te ayude.
fuente