有没有办法返回null而不是抛出NullReferenceException?

时间:2016-02-03 15:41:14

标签: c# nullreferenceexception nullable

我有以下C#问题。

考虑一下这个功能:

private String getStringFromNullabel()
{
    var nullable = getClass();  // returns some object that could be null
    if( nullable != null)
    {
         return nullable.Text;
    }
    return null;
}

这有效,但它很冗长,我宁愿写一些像:

private String getStringFromNullabel()
{
    return NotThrowWrapper(getClass()).Text; 
}

如果getClass()返回null,则抛出此异常。 所以我正在寻找一些足够短的语法,以保持单行,但返回null而不是抛出异常。

C#中有这样的东西吗?

1 个答案:

答案 0 :(得分:2)

前C#6

private String GetStringFromNullabel()
{
 var nullable = getClass();  // returns some object that could be null
 return nullable  != null ? nullable .Text : null;
}

发布C#6

private String GetStringFromNullabel()
{
 return getClass()?.Text;
}

请注意,您应该遵循.NET naming conventions