空檢查
擴充套件方法是靜態方法,其行為類似於例項方法。但是,與在 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