空檢查

擴充套件方法是靜態方法,其行為類似於例項方法。但是,與在 null 引用上呼叫例項方法時發生的情況不同,當使用 null 引用呼叫擴充套件方法時,它不會丟擲 NullReferenceException 。這在某些情況下非常有用。

例如,請考慮以下靜態類:

public static class StringExtensions
{
    public static string EmptyIfNull(this string text)
    {
        return text ?? String.Empty;
    }

    public static string NullIfEmpty(this string text)
    {
        return String.Empty == text ? null : text;
    }
}
string nullString = null;
string emptyString = nullString.EmptyIfNull();// will return ""
string anotherNullString = emptyString.NullIfEmpty(); // will return null

.NET 小提琴現場演示