我有一个更新功能,可通过数据集更新sql server db表。表中的字段之一是整数,并接受空值。因此,当我填充更新函数时,我需要一种在函数需要整数时输入null的方法。
我试图这样做,但是_intDLocation = ""
抛出异常
Dim _dLocation As String = udDefaultLocationTextEdit.Text
Dim _intDLocation As Integer
If _dLocation <> "" Then
_intDLocation = Integer.Parse(udDefaultLocationTextEdit.Text)
Else
'NEED HELP HERE
_intDLocation = ""
End If
最佳答案
整数不能设置为Null。您必须通过在Integer一词后添加问号来使整数“可为空”。现在,_intDLocation不再是普通整数。它是Nullable(Of Integer)
的实例。
Dim _dLocation As String = udDefaultLocationTextEdit.Text
Dim _intDLocation As Integer?
If _dLocation <> "" Then
_intDLocation = Integer.Parse(udDefaultLocationTextEdit.Text)
Else
_intDLocation = Nothing
End If
稍后,如果要检查null,则可以使用以下便捷的可读语法:
If _intDLocation.HasValue Then
DoSomething()
End If
在某些情况下,您将需要以实际整数而不是可为空的整数访问该值。对于这些情况,您只需访问
_intDLocation.Value
阅读有关Nullable here的全部内容。
关于vb.net - 使整数为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3628757/