use*_*510 3 .net c# linq dynamics-crm linqpad
我需要在LINQ where子句中使用C#列表.我可以在where子句中使用一个值进行查询,请指导如何在LINQ查询中使用C#列表.
以下是我的代码:
var usersList= new List<string>();
usersList.Add("User1");
usersList.Add("User2");
(from u in UserSet
where u.FullName.Equals("any user from usersList")
select u.FullName).Take(3).Dump();
Run Code Online (Sandbox Code Playgroud)
基本上如何告诉LINQ检查每个值 usersList
编辑:我正在做这个LINQ for CRM
谢谢
您可以使用 Contains
var usersList= new List<string>();
usersList.Add("User1");
usersList.Add("User2");
...
(from u in UserSet
where usersList.Contains(u.FullName)
select u.FullName).Take(3)
Run Code Online (Sandbox Code Playgroud)
Enumerable.Contains方法(IEnumerable,TSource)
使用默认的相等比较器确定序列是否包含指定的元素.
更新
我无法看到在内存列表中使用Contains的方法.但是,如果用户列表不是太大,您可以在内存中执行此操作
var results = (from u in UserSet
select u.FullName);
var results (from r in results
where usersList.Contains(r)
select r).Take(3);
Run Code Online (Sandbox Code Playgroud)
必须有更好的方法.