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
方法。
我的专长不是 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
方法。