Mendeklarasikan namespace untuk mengatur jenis

Namespace banyak digunakan dalam pemrograman C# dalam dua cara. Pertama, .NET menggunakan namespace untuk mengatur banyak kelasnya, sebagai berikut:

System.Console.WriteLine("Hello World!");

System adalah namespace dan Console adalah kelas di namespace itu. Kata kunci using dapat digunakan sehingga nama lengkap tidak diperlukan, seperti dalam contoh berikut:

using System;
Console.WriteLine("Hello World!");

Untuk informasi selengkapnya, lihat menggunakan Direktif.

Penting

Templat C# untuk .NET 6 menggunakan pernyataan tingkat atas. Aplikasi Anda mungkin tidak cocok dengan kode dalam artikel ini, jika Anda telah meningkatkan ke .NET 6. Untuk informasi selengkapnya, lihat artikel mengenai Templat C# baru menghasilkan pernyataan tingkat atas

.NET 6 SDK juga menambahkan serangkaian direktif implisitglobal using untuk proyek yang menggunakan SDK berikut:

  • Microsoft.NET.Sdk
  • Microsoft.NET.Sdk.Web
  • Microsoft.NET.Sdk.Worker

Direktif global using implisit ini mencakup namespace layanan yang paling umum untuk jenis proyek.

Untuk informasi selengkapnya, lihat artikel tentang Implisit menggunakan direktif

Kedua, mendeklarasikan namespace Anda sendiri dapat membantu Anda mengontrol ruang lingkup nama kelas dan metode dalam proyek pemrograman yang lebih besar. Gunakan kata kunci namespace layanan untuk mendeklarasikan namespace, seperti dalam contoh berikut:

namespace SampleNamespace
{
    class SampleClass
    {
        public void SampleMethod()
        {
            System.Console.WriteLine(
                "SampleMethod inside SampleNamespace");
        }
    }
}

Nama namespace harus berupa nama pengidentifikasi C# yang valid.

Dimulai dengan C# 10, Anda dapat mendeklarasikan namespace untuk semua jenis yang ditentukan dalam file tersebut, seperti yang ditunjukkan pada contoh berikut:

namespace SampleNamespace;

class AnotherSampleClass
{
    public void AnotherSampleMethod()
    {
        System.Console.WriteLine(
            "SampleMethod inside SampleNamespace");
    }
}

Keuntungan dari sintaks baru ini adalah lebih sederhana, menghemat ruang horizontal dan kurung kurawal. Itu membuat kode Anda lebih mudah dibaca.

Gambaran umum namespace layanan

Namespace memiliki properti berikut:

  • Namespace mengatur proyek kode besar.
  • Namespace dibatasi dengan menggunakan operator ..
  • Direktif using mengaburkan persyaratan untuk menentukan nama namespace untuk setiap kelas.
  • Namespace global adalah namespace "root": global::System akan selalu merujuk ke namespace System .NET .

Spesifikasi bahasa C#

Untuk informasi selengkapnya, lihat bagian Namespace layanan dari spesifikasi bahasa C#.