为什么integer.tryParse将null视为字符串?

时间:2014-03-13 21:50:36

标签: vb.net

为什么integer.tryParse将null值视为字符串? 感谢

Dim x As Integer

    If Integer.TryParse(txtchange.Text, x) Then

    Else

        MessageBox.Show("'" + txtchange.Text + "' is not valid number")

    End If

我得到了另一个消息框,即使它已经为空了感谢

2 个答案:

答案 0 :(得分:1)

听起来你想要一个空的TextBox被解释为零,所以检查一下:

Dim x As Integer = 0
If txtchange.Text.Trim = String.Empty OrElse _
   Integer.TryParse(txtchange.Text, x) Then
  'ok to process "x"...
Else
  MessageBox.Show("'" + txtchange.Text + "' is not valid number")
End If

答案 1 :(得分:1)

在尝试解析之前,请尝试使用String.IsNullOrEmpty .net 2.0及更高版)或String.IsNullOrWhiteSpace .net 4.0及更高版本)你的价值。

If Not String.IsNullOrWhiteSpace(txtchange.Text) Then
    If Not Integer.TryParse(txtchange.Text, x) Then
        MessageBox.Show("'" + txtchange.Text + "' is not valid number")
    End If
End If