2013-03-06 106 views
0

我從DB獲取用戶,並且用戶擁有一個帳戶列表。 而且我需要檢查一個帳戶的名稱是否等於一個字符串。 所以我選擇了所有帳戶,然後名稱:System.Collection.Generic.IEnummerable <string> ==字符串

var accounts = user.Select(u=> u.Accounts.Select(a => a.Name)).ToList(); 

然後我的其他檢查後一個名字:

for (int i = 0; i <= accounts.Count(); i++) 
{ 
    if (accounts[i] == mandant) 
     return true; 
} 

mandant = string
類型和accounts[i] = System.Collections.Generic.IEnummerable<string>

類型

如何檢查是否相等?

+0

他說'IEnumerable的'但不是在代碼分隔符,格式化程序就像原始HTML一樣剝離它。 – 2013-03-06 14:52:51

+0

@ 280Z28我明白了,我有多愚蠢:p – Nolonar 2013-03-06 14:53:46

+0

您選擇的Name屬性的類型是什麼? – 2013-03-06 15:01:16

回答

5

您需要使用SelectMany扁平化Account第一,然後用Any檢查:

if (users.SelectMany(u => u.Accounts).Any(a => a.Name == mandant)) 
{ 
} 

或者使用雙Any檢查:

if (users.Any(u => u.Accounts.Any(a => a.Name == mandant))) 
{ 
} 
+0

我不知道爲什麼,但第一個不起作用。但第二個爲我工作。非常感謝。 – spitzbuaamy 2013-03-06 15:44:19

相關問題