Powiedz, że mam klasę, Customer
która ma właściwość FirstName
. Więc mam List<Customer>
.
Czy można użyć LINQ do sprawdzenia, czy lista ma klienta Firstname = 'John'
w jednym wyciągu ... jak?
LINQ definiuje metodę rozszerzenia, która jest idealna do rozwiązania tego konkretnego problemu:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
upewnij się, że odwołujesz się do System.Core.dll, tam mieszka LINQ.
Odpowiedź Zvolkova jest idealna, aby dowiedzieć się, czy istnieje taki klient. Jeśli chcesz później skorzystać z klienta, możesz:
Wiem, że nie o to pytasz, ale pomyślałem, że uprzedzę kolejne pytanie :) (Oczywiście, to znajdzie tylko pierwszego takiego klienta ... aby znaleźć je wszystkie, po prostu użyj normalna
where
klauzula).źródło
bool
wynik, więc w takim przypadku.Any
lub.FindIndex
jest używany tutaj, co jest szybkie ?Jedna z opcji dla następujących pytań (jak znaleźć klienta, który może mieć dowolną liczbę imion):
lub w celu pobrania klienta z csv podobnej listy
źródło
Korzystając z Linq masz wiele możliwości, tutaj bez użycia lambdas:
źródło
źródło
Technika, której użyłem przed odkryciem
.Any()
:źródło
John będzie zerowy, jeśli nie będzie klienta o imieniu „John”.
źródło
Inna możliwość
źródło
Spróbuj tego, mam nadzieję, że ci to pomoże.
źródło