如何简化和增强多个if语句的使用?

时间:2016-03-10 05:57:03

标签: vb.net if-statement

所以我只是好奇并试图改进我目前的应用程序。无法找到任何这方面的例子。

我的表单中有一堆复选框cbc,如果没有选中,我想做点什么。

有没有更好的方法来做到这一点?

      If Not cbc1.Checked = True Then
        If Not cbc2.Checked = True Then
            If Not cbc3.Checked = True Then
                If Not cbc4.Checked = True Then
                    If Not cbc5.Checked = True Then
                        If Not cbc6.Checked = True Then
                            If Not cbc7.Checked = True Then
                                If Not cbc8.Checked = True Then
                                    If Not cbc9.Checked = True Then

                                        'Do this and that

                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If
    End If

我发现这有点乱,它可能不是编写好代码的好方法。

2 个答案:

答案 0 :(得分:3)

为什么不使用.All() from LINQ?它很酷(也很可读)

Dim checkBoxes As New List(Of CheckBox) From {cbc1,cbc2,cbc3} 'all your check boxes
If checkBoxes.All(Function(cb) Not cb.Checked) Then
    'Do this and that
End If

您也不需要if boolObj = True Then。只需if boolObj Then即可。

编辑:条件反过来了。现在修好了。

答案 1 :(得分:0)

由于您没有做任何事情,除了在上一个If语句中,为什么不使用AND运算符并结合所有布尔检查? 那样你只有一个如果然后结束if循环。