我有一个成员类列表,成员。Member 类具有以下属性:
MemberId:字符串 MemberName:字符串 DateOfBirth:DateTime
List<Member> members = FindMembers();
我有一个单独的 MemberId 列表,如下所示。
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 与您拥有的列表进行比较。