声明命名空间来整理类型
在 C# 编程中,命名空间在两个方面被大量使用。 首先,.NET 使用命名空间来组织它的许多类,如下所示:
System.Console.WriteLine("Hello World!");
System 是一个命名空间,Console 是该命名空间中的一个类。 可使用 using
关键字,这样就不必使用完整的名称,如下例所示:
using System;
Console.WriteLine("Hello World!");
有关详细信息,请参阅 using 指令。
重要
适用于 .NET 6 的 C# 模板使用顶级语句。 如果你已升级到 .NET 6,则应用程序可能与本文中的代码不匹配。 有关详细信息,请参阅有关新 C# 模板生成顶级语句的文章
.NET 6 SDK 还为使用以下 SDK 的项目添加了一组隐式 global using
指令:
- Microsoft.NET.Sdk
- Microsoft.NET.Sdk.Web
- Microsoft.NET.Sdk.Worker
这些隐式 global using
指令包含项目类型最常见的命名空间。
有关详细信息,请参阅隐式 using 指令一文
其次,在较大的编程项目中,声明自己的命名空间可以帮助控制类和方法名称的范围。 使用 namespace 关键字可声明命名空间,如下例所示:
namespace SampleNamespace
{
class SampleClass
{
public void SampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
}
命名空间的名称必须是有效的 C# 标识符名称。
从 C# 10 开始,可以为该文件中定义的所有类型声明一个命名空间,如以下示例所示:
namespace SampleNamespace;
class AnotherSampleClass
{
public void AnotherSampleMethod()
{
System.Console.WriteLine(
"SampleMethod inside SampleNamespace");
}
}
这种新语法的优点是更简单,这节省了水平空间且不必使用大括号。 这使得你的代码易于阅读。
命名空间概述
命名空间具有以下属性:
- 它们组织大型代码项目。
- 通过使用
.
运算符分隔它们。 using
指令可免去为每个类指定命名空间的名称。global
命名空间是“根”命名空间:global::System
始终引用 .NET System 命名空间。