试图使用VB.NET Lambda而不是迭代器

时间:2012-09-27 02:22:02

标签: vb.net lambda

我相当确定我可以在VB.NET中使用Lambda表达式执行以下代码,但我似乎无法找到这样做的示例。 Mt试图做到这一点毫无结果。

我只是迭代Me.Controls集合,然后做两个嵌套的If(可能是一个用AndAlso加入的那个)......如果条件匹配,则调用.Controls.Clear( )对象的方法。

    For Each C As Control In Me.Controls
        If TypeOf C Is GroupBox Then
            If C.Name.StartsWith("grpScreen") Then
                CType(C, GroupBox).Controls.Clear()
            End If
        End If
    Next

有人能指出我正确的方向吗?谢谢你的帮助,

克里斯

1 个答案:

答案 0 :(得分:2)

试试这个

     Me.Controls.OfType(Of GroupBox)() _
       .Where(Function(c) c.Name.StartsWith("grpScreen")) _
       .ToList() _
       .ForEach(Sub(c) c.Controls.Clear())