2013-01-06 107 views
0

我有一個Member類成員列表。會員類具有以下屬性:如何使用另一個列表執行Linq查詢列表

成員Id:字符串 成員名稱:字符串 DATEOFBIRTH:日期時間

List<Member> members = FindMembers(); 

我有成員Id的單獨列表,如下所示。

List<string> memberIds = GetTeenAgeMemberIds(); 

現在我必須使用memberIds列表中的值查詢成員列表。請讓我知道我如何使用Linq來做到這一點。

回答

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(); 
+0

不幸的是我不能使用數組。我必須得到過濾列表作爲列表,因爲我必須使用此列表來綁定gridview。謝謝 – user466663

+0

@ user466663然後,只需將'ToArray()'調用替換爲'ToList()'。 – Mir

0

使目標列表中的數組或東西顯然是託管的,使用Contains來比較你所擁有的MemberId和你擁有的列表。

相關問題