关于using

using提供了C#中的实例生存时间的控制,在using语句内声明的实例将在using语句结束时调用Dispose方法.当然了,声明的实例必须继承自IDisposable接口.

using System;

class Instance: IDisposable
{
    private string name;

    public Instance(string name)
    {
        this.name = name;
    }

    public void UseLimitedResource()
    {
        Console.WriteLine("I'm " + name + ", I'm alive!");
    }

    void IDisposable.Dispose()
    {
        Console.WriteLine("I'm " + name + ", I'm dead!");
    }
}

class Program
{
    static void Main()
    {
        //  可以在using语句中声明多个相同类型的实例.
        using (Instance a = new Instance("a"), b = new Instance("b"))
        {
            a.UseLimitedResource();
            b.UseLimitedResource();
            //  在语句体内声明的实例不受using控制.
            Instance c = new Instance("c");
            c.UseLimitedResource();
        }
        
        Console.WriteLine("Now outside using statement.");
        Console.ReadLine();
    }
}


你可能感兴趣的:(c,String,C#,Class)