通过提及关键字回答了精彩 的 C#隐藏功能问题。using你能详细说明一下吗?有什么用途using?
using
该using语句的原因是确保对象一旦超出范围就被释放,并且不需要显式代码来确保发生这种情况。
正如在 理解 C# (codeproject) 中的“使用”语句 和 使用实现 IDisposable (microsoft) 的对象中一样,C# 编译器将
using (MyResource myRes = new MyResource()) { myRes.DoSomething(); }
到
{ // Limits scope of myRes MyResource myRes= new MyResource(); try { myRes.DoSomething(); } finally { // Check for a null resource. if (myRes != null) // Call the object's Dispose method. ((IDisposable)myRes).Dispose(); } }
C# 8 引入了一种新语法,名为“ using declarations ”:
using 声明是一个以 using 关键字开头的变量声明。它告诉编译器被声明的变量应该放在封闭范围的末尾。
所以上面的等效代码是:
using var myRes = new MyResource(); myRes.DoSomething();
并且当控件离开包含范围(通常是方法,但也可以是代码块)时,myRes将被释放。
myRes