Déclarez des espaces de noms pour organiser les types

Les espaces de noms sont largement utilisés de deux façons dans la programmation avec C#. Tout d’abord, .NET utilise des espaces de noms pour organiser ses nombreuses classes, comme suit :

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

System est un espace de noms et Console est une classe de cet espace de noms. Le mot clé using peut être utilisé afin que le nom complet ne soit pas obligatoire, comme dans l’exemple suivant :

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

Pour plus d’informations, consultez Directive using.

Important

Les modèles C# pour .NET 6 utilisent des instructions de niveau supérieur. Votre application ne correspond peut-être pas au code de cet article, si vous avez déjà effectué une mise à niveau vers .NET 6. Pour plus d’informations, consultez l’article Les nouveaux modèles C# génèrent des instructions de niveau supérieur.

Le SDK .NET 6 ajoute également un ensemble de directives implicitesglobal using pour les projets qui utilisent les kits SDK suivants :

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

Ces directives implicites global using incluent les espaces de noms les plus courants pour le type de projet.

Pour plus d’informations, consultez l’article sur les directives d’utilisation implicite

Deuxièmement, la déclaration de vos propres espaces de noms peut vous aider à contrôler l’étendue des noms de classes et de méthodes dans les projets de programmation plus vastes. Utilisez le mot clé namespace pour déclarer un espace de noms, comme dans l’exemple suivant :

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

Le nom de l’espace de noms doit être un nom d’identificateur C# valide.

À compter de C# 10, vous pouvez déclarer un espace de noms pour tous les types définis dans ce fichier, comme illustré dans l’exemple suivant :

namespace SampleNamespace;

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

L’avantage de cette nouvelle syntaxe est qu’elle est plus simple, ce qui permet d’économiser de l’espace horizontal et des accolades. Cela facilite la lecture de votre code.

Vue d’ensemble des espaces de noms

Les espaces de noms ont les propriétés suivantes :

  • Ils organisent les projets de code de taille importante.
  • Ils sont délimités à l’aide de l’opérateur ..
  • La directive using évite de devoir spécifier le nom de l’espace de noms pour chaque classe.
  • L’espace de noms global est l’espace de noms « racine » : global::System fait toujours référence à l’espace de noms System .NET.

spécification du langage C#

Pour plus d’informations, voir la section Espace de noms de la spécification du langage C#.