验证标签内容等于 null 或 string.Empty

Validating label content equal to null or string.Empty

我正在尝试检查标签的值是否等于 null, " ", string.Empty,但每次我 运行 通过我的编码时,我都会收到以下错误:

Object reference not set to an instance of an object.

这是我的编码:

if (lblSupplierEmailAddress.Content.ToString() == "") //Error here
{
    MessageBox.Show("A Supplier was selected with no Email Address. Please update the Supplier's Email Address", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
    return;
}

如何检查标签中的字符串值是否为空?我可能遗漏了一些简单的东西,如果是这样请忽略我的无能:P

改变

if (lblSupplierEmailAddress.Content.ToString() == "")

if (String.IsNullOrEmpty((string) lblSupplierEmailAddress.Content)

lblSupplierEmailAddress.Content 实际上是 null 时,您当然不能对其调用 ToString,因为它会导致 NullReferenceException。但是,如果 Contentnull.

,则静态 IsNullOrEmpty 方法对此表示尊重 returns true

在 C#6.0 中这样做

if(lblSupplierEmailAddress?.Content?.ToString() == "")

否则如果 lblSupplierEmailAddress 总是存在,你可以简单地做:

if(lblSupplierEmailAddress.Content?.ToString() == "")

等效代码为:

if(lblSupplierEmailAddress.Content != null)
    if (lblSupplierEmailAddress.Content.ToString() == ""){
        //do something
    }
if( null != lblSupplierEmailAddress.Content 
    && string.IsNullOrEmpty(lblSupplierEmailAddress.Content.ToString() )