C# 如何使用另一个列表执行列表的Linq查询
我有一张会员名单,会员。成员类具有以下属性: MemberId:string MemberName:字符串 出生日期:日期时间C# 如何使用另一个列表执行列表的Linq查询,c#,linq,C#,Linq,我有一张会员名单,会员。成员类具有以下属性: MemberId:string MemberName:字符串 出生日期:日期时间 List<Member> members = FindMembers(); List members=FindMembers(); 我有一个单独的MemberId列表,如下所示 List<string> memberIds = GetTeenAgeMemberIds(); List memberIds=getteengagememberid
List<Member> members = FindMembers();
List members=FindMembers();
我有一个单独的MemberId列表,如下所示
List<string> memberIds = GetTeenAgeMemberIds();
List memberIds=getteengagememberids();
现在,我必须使用memberIds列表中的值查询Members列表。请告诉我如何使用Linq执行此操作。您可以使用以下Linq查询:
var result = members.Where(m => memberIds.Contains(m.MemberId)).
ToArray();
或者:
var result = (from m in members
join id in memberIds on m.MemberId equals id
select m).ToArray();
或者,如果您更喜欢方法链:
var result = members.Join(memberIds, m => m.MemberId, id => id, (m, id) => m).
ToArray();
将目标列表设置为数组或明显受管理的对象,使用其上的Contains将您拥有的MemberId与您拥有的列表进行比较。很遗憾,我无法使用数组。我必须将过滤后的列表作为列表,因为我必须使用此列表绑定gridview。Thanks@user466663然后只需替换对
ToList()
的ToArray()调用。