小编典典

C#中“使用”的用途是什么?

all

通过提及关键字回答了精彩 的 C#隐藏功能问题。using你能详细说明一下吗?有什么用途using


阅读 78

收藏
2022-04-06

共1个答案

小编典典

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将被释放。

2022-04-06