Объявление пространств имен для упорядочивания типов
Пространства имен часто используются в программировании на C# двумя способами. Первый способ — .NET использует пространства имен для упорядочения множества ее классов следующим образом:
System.Console.WriteLine("Hello World!");
System является пространством имен, а Console — это класс в нем. Ключевое using
слово можно использовать так, чтобы полное имя не требуется, как показано в следующем примере:
using System;
Console.WriteLine("Hello World!");
См. дополнительные сведения о директиве using.
Внимание
В шаблонах C# для .NET 6 используются операторы верхнего уровня. Приложение может не соответствовать коду в этой статье, если вы уже обновили его до .NET 6. Дополнительные сведения см. в статье Новые шаблоны C# для создания инструкций верхнего уровня.
Пакет SDK для .NET 6 также добавляет набор неявных директив global using
для проектов, использующих следующие пакеты SDK:
- 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
всегда будет ссылаться на пространство имен System в .NET.
Спецификация языка C#
Дополнительные сведения см. в статье Пространства имен в разделе Предварительная спецификация C# 6.0.