C#入门05:特点菜-关键字

Using

  • Using指令
    using 指令有两个用途:
    容许在命名空间中使用类型,这样,您就没必要在该命名空间中限定某个类型的使用:
using System.Text;

为命名空间或类型建立别名:程序员

using Project = PC.MyCompany.Project;
Project.MyClass mc = new Project.MyClass();

using 指令的范围限制为包含它的文件。网络

  • Using语句
    定义一个范围,将在此范围以外释放一个或多个对象。
using (Font font1 = new Font("Arial", 10.0f))
{
}

C# 经过 .NET Framework 公共语言运行库 (CLR) 自动释放用于存储再也不须要的对象的内存。内存的释放具备不肯定性;一旦 CLR 决定执行垃圾回收,就会释放内存。可是,一般最好尽快释放诸如文件句柄和网络链接这样的有限资源。
using 语句容许程序员指定使用资源的对象应当什么时候释放资源。为 using 语句提供的对象必须实现 IDisposable 接口。此接口提供了 Dispose 方法,该方法将释放此对象的资源。
能够在到达 using 语句的末尾时,或者在该语句结束以前引起了异常而且控制权离开语句块时,退出 using 语句。
能够在 using 语句中声明对象(如上所示),或者在 using 语句以前声明对象,以下所示:ide

Font font2 = new Font("Arial", 10.0f);
using (font2)
{
    // use font2
}

能够有多个对象与 using 语句一块儿使用,可是必须在 using 语句内部声明这些对象,以下所示:code

using (Font font3 = new Font("Arial", 10.0f), 
         Font font4 = new Font("Arial", 10.0f))
{
    // Use font3 and font4.
}

下面的示例显示用户定义类能够如何实现它本身的 Dispose 行为。注意类型必须从 IDisposable 继承:对象

using System;

class C : IDisposable
{
    public void UseLimitedResource()
    {
        Console.WriteLine("Using limited resource...");
    }

    void IDisposable.Dispose()
    {
        Console.WriteLine("Disposing limited resource.");
    }
}

class Program
{
    static void Main()
    {
        using (C c = new C())
        {
            c.UseLimitedResource();
        }
        Console.WriteLine("Now outside using statement.");
        Console.ReadLine();
    }
}

partial

处理大型项目时,使一个类分布于多个独立文件中可让多位程序员同时对该类进行处理。
使用自动生成的源时,无需从新建立源文件即可将代码添加到类中。
若要拆分类定义,请使用 partial 关键字修饰符,以下所示:继承

public partial class Employee
{
    public void DoWork()
    {
    }
}

public partial class Employee
{
    public void GoToLunch()
    {
    }
}

处理分部类定义时需遵循下面的几个规则:
1)要做为同一类型的各个部分的全部分部类型定义都必须使用 partial 进行修饰。 例如,下面的类声明将生成错误:接口

public partial class A { }
//public class A { }  // Error, must also be marked partial

2)partial 修饰符只能出如今紧靠关键字 class、struct 或 interface 前面的位置。
3)要成为同一类型的各个部分的全部分部类型定义都必须在同一程序集和同一模块(.exe 或 .dll 文件)中进行定义。分部定义不能跨越多个模块。内存

相关文章
相关标签/搜索