C#之using

C#的using字段使用后,可以自动调用dispose来对资源进行释放,现在有一点点疑惑,如果我在using里面调用了return,还会释放吗?

这里写一个测试程序试一下:

    class Program
    {
        static void Main(string[] args)
        {
            B bb = new B();
            bb.tt();
            Console.ReadKey();
        }
    }
    class B
    {
        public void tt()
        {
            using (A a = new A())
            {
                Console.WriteLine("first do......");
                return;
            }
        }
    }
    class A :IDisposable
    {
        public void Dispose()
        {
            Console.WriteLine("enter dispose");
        }
    }

输出如下:

通过实验,得出结论:

在using里面使用return 之后,还是可以释放对象的。

猜你喜欢

转载自blog.csdn.net/g0415shenw/article/details/88026266
今日推荐