如何对一个列表与另一个列表执行Linq查询
本文关键字:列表 另一个 执行 查询 Linq 一个 | 更新日期: 2023-09-27 17:50:58
我有一个List of Member class, members。Member类具有以下属性:
MemberId: stringMemberName:字符串出生日期:DateTime
List<Member> members = FindMembers();
我有一个单独的MemberId List,如下所示。
List<string> memberIds = GetTeenAgeMemberIds();
现在我必须用memberIds list中的值查询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与您拥有的列表。