我有两种结构,有时候会被用户的数据填满,有时也会被两种结构填满。我需要检查整个结构是否有数据输入。我也可以,如果我甚至可以检查一个变量,看它是否为空或空(这是我在下面做的)。当代码运行时,无论结构是否有数据,btnTurn.Enabled都会被禁用。这可能是我的布尔值问题吗?VB检查结构的值
结构
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/else
If structSD2.szTBMNum2 = Nothing Then
btnTurn.Enabled = False
ElseIf structSD2.szTBMNum2 <> Nothing Then
btnTurn.Enabled = True
End If
对于字符串,你应该使用一个[它的功能(https://msdn.microsoft.com/en-us/library/system.string.isnullorempty( v = vs.110).aspx)来检测null或空。这一切都取决于你“有价值”的含义。最好的方法是有一个返回true或false的函数。 –
附注:你确定那些应该被定义为结构?他们相当大。在这里使用普通的课程可能会更好。而你对'朋友'的使用也是可疑的。 – sstan
@sstan此代码适用于多年前建立的应用程序。相信我我不想使用结构,但它更容易,而不必对客户想要的更改进行大量重新编码,这与数据的存储方式无关。 –