宣告命名空間以組織類型

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 指示詞包含專案類型最常見的命名空間。

其次,宣告您自己的命名空間,將有助於在較大型的程式設計專案中控制類別和方法名稱的範圍。 請使用 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# 語言規格命名空間一節。