我是这个 linq 东西的新手。我以前从未使用过任何 linq。因此,当我有一个将选定项目从左侧列表移动到右侧列表的场景时,我从 C# 中的搜索中获得了一个不错的解决方案,但我将其转换为 VB。这是我得到的代码
Dim leftItems = lb_left.Items.Cast(Of ListItem)().ToList()
Dim rightItems = lb_right.Items.Cast(Of ListItem)().ToList()
'Get all selected items from left box
Dim LeftSelectedItems = leftItems.Where(Function(a) a.Selected).ToList()
'Add all selected items to right box
'Clear lb_right Items and add sorted list
lb_right.Items.Clear()
LeftSelectedItems.Union(rightItems).OrderBy(Function(a) a.Text).ToList().ForEach(Function(b) lb_right.Items.Add(b))
'Remove all selected items from left box
LeftSelectedItems.ForEach(Function(a) lb_left.Items.Remove(a))
以上是我从互联网上获得的从左到右移动列表框的代码。但是在那个函数上ForEach
它给了我一个错误“表达式不产生值”
我真的被这个错误困住了。请求您的快速回复..