2012-09-27 71 views
2

我相當肯定我可以在VB.NET中使用Lambda表達式執行下面的代碼,但我似乎無法找到這樣做的示例。 Mt試圖做到這一點是徒勞的。嘗試使用VB.NET Lambda代替迭代器

我只是遍歷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 

難道有人指着我正確的方向嗎?謝謝你的幫助,

克里斯

回答

2

試試這個

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

優雅簡約 - 謝謝你 – user1701982