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

本文关键字:NullReferenceException 返回 null 有没有 | 更新日期: 2023-09-27 18:33:00

我有以下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#中有这样的事情吗?

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

Pre 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 命名约定