Sobes.tech
Junior

Qu'est-ce que la portée (scoped) en C#?

sobes.tech IA

Réponse de l'IA

La portée en C# détermine la disponibilité des variables, méthodes et types dans une partie spécifique du programme. C'est une restriction sur l'endroit où dans le code un identifiant donné peut être utilisé.

Principales zones de portée:

  • Bloc de code: Les variables déclarées à l'intérieur des accolades { } ne sont accessibles qu'à l'intérieur de ce bloc.
  • Portée de la méthode: Les variables et paramètres déclarés à l'intérieur d'une méthode ne sont accessibles qu'à l'intérieur de cette méthode.
  • Portée de la classe/structure: Les membres d'une classe ou d'une structure (champs, propriétés, méthodes) sont accessibles en fonction des modificateurs d'accès (public, private, protected, internal).
  • Portée de l'espace de noms: Les types déclarés dans un espace de noms sont accessibles dans cet espace de noms et dans d'autres espaces de noms où using est utilisé.
  • Portée de l'assembly: Les types avec le modificateur internal ne sont accessibles qu'à l'intérieur de l'assembly actuel.

Exemple de portée de bloc de code:

public void ExampleMethod()
{
    int x = 10; // x n'est accessible qu'à l'intérieur de ExampleMethod
    if (x > 5)
    {
        int y = 20; // y n'est accessible qu'à l'intérieur du bloc if
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // Erreur de compilation : y n'est pas accessible ici
}