Скажем, у меня есть класс, у Customer
которого есть свойство FirstName
. Тогда у меня есть List<Customer>
.
Можно ли использовать LINQ, чтобы узнать, есть ли в списке клиент с Firstname = 'John'
одним оператором ... как?
LINQ определяет метод расширения, который идеально подходит для решения именно этой проблемы:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
убедитесь, что вы ссылаетесь на System.Core.dll, там живет LINQ.
Ответ Зволкова является идеальным, чтобы выяснить, есть ли такой клиент. Если вам нужно использовать клиента впоследствии, вы можете сделать:
Я знаю, что это не то, что вы спрашивали, но я подумал, что предпочитаю последующий вопрос :) (Конечно, это находит только первого такого клиента ..., чтобы найти их всех, просто используйте нормальное
where
предложение.)источник
bool
результат, так что в этом случае.Any
или.FindIndex
используется здесь, что быстро ?Один из вариантов ответа на вопрос (как найти клиента, который может иметь любое количество имен):
или получить клиента из csv аналогичного списка
источник
Используя Linq, у вас есть много возможностей, в том числе без лямбд:
источник
источник
Техника, которую я использовал перед открытием
.Any()
:источник
Джон будет нулевым, если не существует ни одного клиента с именем «Джон».
источник
Другая возможность
источник
Попробуйте это, я надеюсь, это поможет вам.
источник