Answers:
LINQ定义了一种扩展方法,非常适合解决这个确切的问题:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
确保您引用System.Core.dll,这就是LINQ所在的位置。
zvolkov的答案是找出答案的理想选择 是否有这样的客户。如果以后需要使用客户,则可以执行以下操作:
Customer customer = list.FirstOrDefault(cus => cus.FirstName == "John");
if (customer != null)
{
// Use customer
}
我知道这不是您要问的问题,但我想我会优先考虑一个后续问题:)(当然,这只会找到第一个此类客户...要找到所有这些客户,只需使用普通where
条款。)
以下问题的一个选择(如何找到可能有任意多个名字的客户):
List<string> names = new List<string>{ "John", "Max", "Pete" };
bool has = customers.Any(cus => names.Contains(cus.FirstName));
或从类似列表的csv中检索客户
string input = "John,Max,Pete";
List<string> names = input.Split(',').ToList();
customer = customers.FirstOrDefault(cus => names.Contains(cus.FirstName));
customerList.Any(x=>x.Firstname == "John")
我发现之前使用的技术.Any()
:
var hasJohn = (from customer in list
where customer.FirstName == "John"
select customer).FirstOrDefault() != null;
试试这个,希望对您有帮助。
if (lstCustumers.Any(cus => cus.Firstname == "John"))
{
//TODO CODE
}