Reputation: 845
I have a List of Member class, members. The Member class has the following properties:
MemberId : string MemberName : string DateOfBirth : DateTime
List<Member> members = FindMembers();
I have a separate List of MemberId, as shown below.
List<string> memberIds = GetTeenAgeMemberIds();
Now I have to query the Members list with the values in the memberIds List. Please let me know how could I do this using Linq.
Upvotes: 0
Views: 241
Reputation: 8459
You can use the following LINQ query:
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();
Upvotes: 2
Reputation: 62093
Make the target list an array or something obviously managed, use Contains on it to compare the MemberId you have with the list you have.
Upvotes: 0