C# 正在检查文本框文本是否为空

C# 正在检查文本框文本是否为空,c#,null,C#,Null,我使用下面的代码来检查空文本框,如果它为空,则跳过复制到剪贴板,然后转到代码的其余部分 我不明白为什么会出现“值不能为NULL”异常。难道它不应该看到空值并继续前进而不复制到剪贴板吗 private void button_Click(object sender, EventArgs e) { if (textBox_Results.Text != null) Clipboard.SetText(textBox_Results.Text); //rest

我使用下面的代码来检查空文本框,如果它为空,则跳过复制到剪贴板,然后转到代码的其余部分

我不明白为什么会出现“值不能为NULL”异常。难道它不应该看到空值并继续前进而不复制到剪贴板吗

private void button_Click(object sender, EventArgs e)
{
    if (textBox_Results.Text != null) Clipboard.SetText(textBox_Results.Text);            

    //rest of the code goes here;
}
如果使用.NET 4检查.Text是否为空值,则应使用

private void button_Click(object sender, EventArgs e)
    {
        if (!String.IsNullOrEmpty(textBox_Results.Text) Clipboard.SetText(textBox_Results.Text);            

        //rest of the code goes here;
    }

您可能应该这样做您的检查:

if (textBox_Results != null && !string.IsNullOrWhiteSpace(textBox_Results.Text))

只需额外检查一下,如果
textBox\u Results
null
您不会得到null引用异常。

我想您可以检查一下文本是否为空字符串:

private void button_Click(object sender, EventArgs e)
{
    if (textBox_Results.Text != "") Clipboard.SetText(textBox_Results.Text);            

    //rest of the code goes here;
}

您还可以使用string.IsNullOrEmpty()方法进行检查。

什么平台。。。Wpf?WinForms?它不应该为空。除非您动态添加文本框或在处理表单时尝试访问(可能性很小),否则您应该没事。注意:永远不要尝试从其他窗体访问UI控件。你应该通过一个方法来做。使用
!String.IsNullOrWhiteSpace
使独立的
!=空
检查冗余。它在方法名称中检查空值。@TylerH!string.IsNullOrWhitespace超过了textbox\u结果。Text不是textbox\u结果。如果textbox_Results为null且您访问.Text,则在获取要传递到string.IsNullOrWhitespace的文本值之前,它将抛出null引用异常。也就是说,使用较新版本的C#我可以执行文本框#U结果?文本并删除第一个复选框。