2009-06-16 31 views
0

我有以下的VS2008如何端口這LINQ到VS 2005

If Linq.Enumerable.Contains(Of String)(selectedUsersRoles, RoleCheckBox.Text) Then 
    RoleCheckBox.Checked = True 
Else 
    RoleCheckBox.Checked = False 
End If 

代碼,我需要在VS2005

我可以做的,而不是在LINQ上面的代碼是什麼上面的代碼?任何人都可以幫忙嗎?

+0

請您給我們一些更多的背景信息,例如:什麼類型是selectedUsersRoles(即這裏的問號是什麼「Dim selectedUsersRoles as?」),謝謝。 – 2009-06-16 09:20:12

回答

1
RoleCheckBox.Checked = False 
For Each str As String in selectedUsersRoles 
    If str = RoleCheckBox.Text Then 
      RoleCheckBox.Checked = True 
      Exit For 
    End If 
Next 

如果您不希望改變RoleCheckBox.Checked兩次(STR時,實際上是找到),然後用初始值爲False聲明一個布爾標誌(即boolFound),當發現其更改爲正確的, asign RoleCheckBox.Checked = boolFound在「for each」循環之後...

1
bool containsRole = false; 
foreach(string entry in selectedUsersRoles) 
{ 
    if(entry == RoleCheckBox.Text) 
    { 
    containsRole = true; 
    break; 
    } 
} 

RoleCheckBox.Checked = containsRole; 

該代碼是C#但我想你會明白。 這是爲IEnumerable。如果你有一個列表,請嘗試Binary Worrier的溶劑。