C# Language Null checking

Download C# Language for free


Extension methods are static methods which behave like instance methods. However, unlike what happens when calling an instance method on a null reference, when an extension method is called with a null reference, it does not throw a NullReferenceException. This can be quite useful in some scenarios.

For example, consider the following static class:

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

Live Demo on .NET Fiddle

Using Extension methods to build new collection types (e.g. DictList)