我有一个Member类成员列表。会员类具有以下属性:如何使用另一个列表执行Linq查询列表
成员Id:字符串 成员名称:字符串 DATEOFBIRTH:日期时间
List<Member> members = FindMembers();
我有成员Id的单独列表,如下所示。
List<string> memberIds = GetTeenAgeMemberIds();
现在我必须使用memberIds列表中的值查询成员列表。请让我知道我如何使用Linq来做到这一点。
我有一个Member类成员列表。会员类具有以下属性:如何使用另一个列表执行Linq查询列表
成员Id:字符串 成员名称:字符串 DATEOFBIRTH:日期时间
List<Member> members = FindMembers();
我有成员Id的单独列表,如下所示。
List<string> memberIds = GetTeenAgeMemberIds();
现在我必须使用memberIds列表中的值查询成员列表。请让我知道我如何使用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。谢谢 –
user466663
@ user466663然后,只需将'ToArray()'调用替换为'ToList()'。 – Mir