假设我有一个类Customer,它有一个属性FirstName。然后我有一个List<Customer>。

LINQ可以用来查找列表中是否有一个客户的Firstname = 'John'在单个语句..如何?


当前回答

List<Customer> list = ...;
Customer john = list.SingleOrDefault(customer => customer.Firstname == "John");

如果不存在名字为“john”的客户,则john将为空。

其他回答

使用Linq你有很多可能性,这里有一个不使用lambdas:

//assuming list is a List<Customer> or something queryable...
var hasJohn = (from customer in list
         where customer.FirstName == "John"
         select customer).Any();

LINQ定义了一个非常适合解决这个问题的扩展方法:

using System.Linq;
...
    bool has = list.Any(cus => cus.FirstName == "John");

确保你引用System.Core.dll,那是LINQ所在的地方。

试试这个,我希望它能帮助你。

 if (lstCustumers.Any(cus => cus.Firstname == "John"))
 {
     //TODO CODE
 }

另一种可能性

if (list.Count(customer => customer.Firstname == "John") > 0) {
 //bla
}
customerList.Any(x=>x.Firstname == "John")