假设我有一个Customer类,它有一个属性FirstName.然后我有一个List.
可以使用LINQ来查找列表中是否有一个客户在一个语句中使用Firstname ='John'..怎么样?
zvo*_*kov 437
LINQ定义了一个非常适合解决这个问题的扩展方法:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
Run Code Online (Sandbox Code Playgroud)
确保你引用System.Core.dll,这就是LINQ所在的地方.
Jon*_*eet 100
zvolkov的答案是一个完美的答案,以确定是否有这样的客户.如果您之后需要使用客户,您可以:
Customer customer = list.FirstOrDefault(cus => cus.FirstName == "John");
if (customer != null)
{
// Use customer
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是你问的问题,但我认为我会抢先一个后续问题:)(当然,这只找到第一个这样的客户......找到所有这些,只需使用一个正常where条款.)
Mik*_*ton 23
关注问题的一个选项(如何找到可能有任意名字的客户):
List<string> names = new List<string>{ "John", "Max", "Pete" };
bool has = customers.Any(cus => names.Contains(cus.FirstName));
Run Code Online (Sandbox Code Playgroud)
或者从类似列表的csv中检索客户
string input = "John,Max,Pete";
List<string> names = input.Split(',').ToList();
customer = customers.FirstOrDefault(cus => names.Contains(cus.FirstName));
Run Code Online (Sandbox Code Playgroud)
jms*_*era 10
使用Linq你有很多可能性,这里没有使用lambdas:
//assuming list is a List<Customer> or something queryable...
var hasJohn = (from customer in list
where customer.FirstName == "John"
select customer).Any();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
330548 次 |
| 最近记录: |