简体   繁体   English

如何使用另一个列表执行列表的Linq查询

[英]How to to perform Linq query of a list with another list

I have a List of Member class, members. 我有会员列表,成员。 The Member class has the following properties: Member类具有以下属性:

MemberId : string MemberName : string DateOfBirth : DateTime MemberId:string MemberName:string DateOfBirth:DateTime

List<Member> members = FindMembers();

I have a separate List of MemberId, as shown below. 我有一个单独的MemberId列表,如下所示。

List<string> memberIds = GetTeenAgeMemberIds();

Now I have to query the Members list with the values in the memberIds List. 现在我必须使用memberIds List中的值查询Members列表。 Please let me know how could I do this using Linq. 请告诉我如何使用Linq进行此操作。

You can use the following LINQ query: 您可以使用以下LINQ查询:

var result = members.Where(m => memberIds.Contains(m.MemberId)).
    ToArray();

Alternatively: 或者:

var result = (from m in members
              join id in memberIds on m.MemberId equals id
              select m).ToArray();

Or if you prefer method chains: 或者如果您更喜欢方法链:

var result = members.Join(memberIds, m => m.MemberId, id => id, (m, id) => m).
    ToArray();

使目标列表成为一个数组或明显托管的东西,使用Contains来比较你拥有的MemberId和你的列表。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM