110.C#中using的三种用法

  1. 110. C#中using的三种用法
    1. 110.1 题目
    2. 110.2 答案
      1. 1. 对命名空间的引用
      2. 2. 定义命名空间的别名
      3. 3. 自动释放所新建的对象

110. C#中using的三种用法


110.1 题目

C#中using的三种用法


110.2 答案

1. 对命名空间的引用

using 关键字用于引入命名空间,在使用类时可以省略复杂的前缀,类似于 Java 的 import。C# 10 引入了全局 using 特性,如果关键字 global 出现在 using 指令之前,则 using 指令适用于整个项目,实现了项目级的统一 using。

// 引入 System 命名空间
using System;

// C# 10 新特性,全局 using
global using System;

2. 定义命名空间的别名

使用别名可以区分不同命名空间下相同类名的类。

// 为命名空间定义别名
using Project1 = MyCompany.Project1;
using Project2 = MyCompany.Project2;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // 使用别名调用不同命名空间下的同名类
            Project1.ClassA classA1 = new Project1.ClassA();
            Project2.ClassA classA2 = new Project2.ClassA();
        }
    }
}

3. 自动释放所新建的对象

在定义域内的代码运行结束后,using 语句自动调用 IDisposable 接口,释放掉新建的非托管型系统资源,简化了 try-catch 的写法。只有实现了 IDisposable 接口的类才可以使用。

using System;
using System.IO;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // 使用 using 语句自动释放资源
            using (StreamReader reader = new StreamReader("example.txt"))
            {
                string content = reader.ReadToEnd();
                Console.WriteLine(content);
            } // 这里自动调用 reader.Dispose()
        }
    }
}

在上述示例中,using 语句确保 StreamReader 对象在代码块结束后自动调用 Dispose 方法,释放资源。



转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏