C#using语句是空安全的
示例
您无需检查的IDisposable对象null。using不会引发异常,Dispose()也不会被调用:
DisposableObject TryOpenFile() { return null; } //一次性此处为null,但这不会引发异常 using (var disposable = TryOpenFile()) { //这将引发NullReferenceException,因为一次性值为null disposable.DoSomething(); if(disposable != null) { //在这里我们很安全,因为一次性物品已经过检查为空 disposable.DoSomething(); } }