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