VB检查结构

时间:2016-08-19 13:43:05

标签: vb.net if-statement data-structures

我有两个结构,有时一个用来自用户或有时两者的数据。我需要检查整个结构,看它是否有数据输入。如果我甚至可以检查变量以查看它是否为空或为空(我在下面所做的),我也可以。当代码运行时,无论结构是否有数据,都始终禁用btnTurn.Enabled。这可能是我的布尔值的问题吗?

结构

 Public Structure StructSurvData
            Friend szTBMNum As String
            Friend dblTBMElev1 As Double
            Friend dblTBMElev2 As Double
            Friend dblTBMElev3 As Double
            Friend dblBACKSIGHT1 As Double
            Friend dblBACKSIGHT2 As Double
            Friend dblBACKSIGHT3 As Double
            Friend dblFORESIGHT1 As Double
            Friend dblFORESIGHT2 As Double
            Friend dblFORESIGHT3 As Double
            Friend szNewMPEDescr As String
            Friend szDataComm As String

        End Structure

        Public Structure StructSurvData2
            Friend szTBMNum2 As String
            Friend dblTBMElev4 As Double
            Friend dblTBMElev5 As Double
            Friend dblTBMElev6 As Double
            Friend dblBACKSIGHT4 As Double
            Friend dblBACKSIGHT5 As Double
            Friend dblBACKSIGHT6 As Double
            Friend dblFORESIGHT4 As Double
            Friend dblFORESIGHT5 As Double
            Friend dblFORESIGHT6 As Double
            Friend szNewMPEDescr2 As String
            Friend szDataComm2 As String
        End Structure

如果/其他

 If structSD2.szTBMNum2 = Nothing Then
                btnTurn.Enabled = False
            ElseIf structSD2.szTBMNum2 <> Nothing Then
                btnTurn.Enabled = True
            End If

2 个答案:

答案 0 :(得分:5)

您应始终使用is nothing代替=nothingisnot nothing代替<> nothing

        If structSD2.szTBMNum2 is Nothing Then
            btnTurn.Enabled = False
        ElseIf structSD2.szTBMNum2 isnot Nothing Then
            btnTurn.Enabled = True
        End If

甚至更好,@ zaggler建议:

        btnTurn.Enabled = structSD2.szTBMNum2 Is Nothing

答案 1 :(得分:1)

If structSD2.szTBMNNum Is Nothing Then