宣告命名空間,組織型別

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 命名空間。

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格命名空間一節。