VB 如何处理 Visual Studio 文本框控件的文本 属性?

How does VB handle the Visual Studio TextBox Control's Text Property?

我的专长不是 VB,但我现在必须处理大量 VB。

几乎每个查看输入数据的代码块都使用这种格式:

现有:

If textbox1.Text <> vbNullString AndAlso textbox1.Text.Trim <> vbNullString Then
  textbox1.Focus()
End If

那个代码让我很生气。

我通常编写这样一段代码的方式是:

重写:

Dim text as String = textbox1.Text.Trim()
If String.IsNullOrEmpty(text) Then
  textbox1.Focus()
End If

这来自我的 C# 经验,其中 TextBox Control's Text 属性 永远不会为 NULL - 即使我将其设置为 NULL,它仍然会作为空字符串读回。

当然,我可以对此进行测试,但我可能不会在我的快速验证码中遇到 VB 的一些细微差别。

我的 ReWrite 在这种情况下是否仍然有效?

是的,我正在使用 .NET 4,所以我可以(should?) replace String.IsNullOrEmpty with String.IsNullOrWhiteSpace - 除非有人指出一些不这样做的理由。

vb.net 处理文本 属性 的方式与 c# 相同。

我认为真正的问题是:

"How is the text property handled by the .net framework?"

如果您查看 reference source,您会发现空值将替换为空字符串。

因此 .net 开发人员(vb.net 或 c#)将使用 IsNullOrEmpty 方法。