我有一个会员类列表,成员。 Member类具有以下属性:
MemberId:string MemberName:string DateOfBirth:DateTime
List<Member> members = FindMembers();
我有一个单独的MemberId列表,如下所示。
List<string> memberIds = GetTeenAgeMemberIds();
现在我必须使用memberIds List中的值查询Members列表。请告诉我如何使用Linq进行此操作。
答案 0 :(得分:2)
您可以使用以下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();
答案 1 :(得分:0)
使目标列表成为一个数组或明显托管的内容,使用Contains来比较你拥有的MemberId和你拥有的列表。