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
wherecláusula normal .)fuente
boolresultados, así que en ese caso.Anyo.FindIndexse 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