TextBox的text属性是否可能为null?

B. *_*non 1 c# null textbox

我遇到了这段代码:

if (txtUPC.Text.ToString() != null)
Run Code Online (Sandbox Code Playgroud)

...并且想知道这个测试是否有效 - text属性是否可以为null?txtUPC不是动态创建的控件.它当然可以是空的,或者只包含空格,但是null?如果是这样,我想知道如何.然后再次,在文本属性上调用ToString()似乎也像带腰带的吊带一样.

UPDATE

所以在我看来,对我来说(记住:.NET 1.1,Windows CE/Compact Framework),这个:

if (txtUPC.Text.Trim() != string.Empty)
Run Code Online (Sandbox Code Playgroud)

......比这更好的测试:

if (txtUPC.Text.ToString() != null) 
Run Code Online (Sandbox Code Playgroud)

然而,在更加专心地注视这段代码时,无论如何,似乎外部或内部的手套都是多余的/不必要的.请注意该方法包括的两个shibbeleth-pronunciation-checkers:

if (txtUPC.Text.ToString() != null) 
{
    if (txtUPC.Text.Length > 0)
    {
                    . . .
    else
    {
        MessageBox.Show("Please enter a value in the item field");
        txtUPC.Focus();
    }
}
else
{
    MessageBox.Show("Please enter a value in the item field");
    txtUPC.Focus();
}
. . .
Run Code Online (Sandbox Code Playgroud)

这似乎是一个看门人/高手就足够了 - 要么这样检查:

if (txtUPC.Text.Trim() != string.Empty)
Run Code Online (Sandbox Code Playgroud)

......或者这样:

if (txtUPC.Text.Trim().Length > 0)
Run Code Online (Sandbox Code Playgroud)

一个?

Jas*_*own 9

我认为它永远不会为空(也许winforms/asp.net/wpf文本框之间存在差异,但我不这么认为).虽然更好的检查是:

if (String.IsNullOrEmpty(txtUPC.Text) { ... }
Run Code Online (Sandbox Code Playgroud)

或者,根据您的要求:

if (String.IsNullOrWhiteSpace(txtUPC.Text) { ... }
Run Code Online (Sandbox Code Playgroud)

是的,.ToString()不需要.