2014-01-09 50 views
1

我使用VB.Net,我想知道如何使用LINQ 拉姆達語法(未查詢語法,重複號的查詢語法),以獲得在CheckBoxList的選擇複選框。如何使用linq-lambda語法獲取選定的listitems?

我試過這個,但它絕對不對。

cblRequired.Items.OfType(Of ListItem).Where(Function (i As ListItem) i.Selected End Function) 
+0

是否有原因,你不能只使用'cblRequired.SelectedItems'? –

+0

一,沒有SelectedItems。更重要的是,這不是我要求的。 – dotnetN00b

+0

啊。我以爲你說過'CheckedListBox'。這現在更有意義。 –

回答

1

我認爲,唯一的問題與您的代碼,你不應該有End Function,因爲它是一個單行lambda表達式。這應該工作:

cblRequired.Items.OfType(Of ListItem).Where(Function(i As ListItem) i.Selected) 

從技術上講,你不需要指定的i的類型,因爲它會自動推斷類型:如果你希望它是一個多線

cblRequired.Items.OfType(Of ListItem).Where(Function(i) i.Selected) 

lamba表達,看起來像這樣:

cblRequired.Items.OfType(Of ListItem).Where(Function(i) 
               Return i.Selected 
              End Function) 
相關問題