0

我有一个成员类列表,成员。Member 类具有以下属性:

MemberId:字符串 MemberName:字符串 DateOfBirth:DateTime

List<Member> members = FindMembers();

我有一个单独的 MemberId 列表,如下所示。

List<string> memberIds = GetTeenAgeMemberIds();

现在我必须使用 memberIds 列表中的值查询成员列表。请让我知道如何使用 Linq 做到这一点。

4

2 回答 2

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();
于 2013-01-06T16:33:41.613 回答
0

使目标列表成为一个数组或明显管理的东西,在其上使用 Contains 将您拥有的 MemberId 与您拥有的列表进行比较。

于 2013-01-06T16:34:10.963 回答