C# Language L'utilisation d'instructions est null-safe


Exemple

Vous n'avez pas à vérifier l'objet IDisposable pour null . using ne lancera pas une exception et Dispose() ne sera pas appelé:

DisposableObject TryOpenFile()
{
    return null;
}

// disposable is null here, but this does not throw an exception 
using (var disposable = TryOpenFile())
{
    // this will throw a NullReferenceException because disposable is null
    disposable.DoSomething(); 

    if(disposable != null)
    {
        // here we are safe because disposable has been checked for null
        disposable.DoSomething();
    }
}