Sobes.tech
Junior

Cos'è la portata (scoped) in C#?

sobes.tech AI

Risposta dell'AI

L'ambito in C# determina la disponibilità di variabili, metodi e tipi in una parte specifica del programma. È una restrizione su dove nel codice può essere utilizzato un determinato identificatore.

Principali aree di ambito:

  • Blocco di codice: Le variabili dichiarate all'interno delle parentesi { } sono disponibili solo all'interno di questo blocco.
  • Ambito del metodo: Le variabili e i parametri dichiarati all'interno di un metodo sono disponibili solo all'interno di quel metodo.
  • Ambito della classe/struttura: I membri di una classe o struttura (campi, proprietà, metodi) sono accessibili in base ai modificatori di accesso (public, private, protected, internal).
  • Ambito dello spazio dei nomi: I tipi dichiarati nello spazio dei nomi sono accessibili in questo spazio e in altri spazi dei nomi dove si utilizza using.
  • Ambito dell'assembly: I tipi con il modificatore internal sono accessibili solo all'interno dell'assembly corrente.

Esempio di ambito di blocco di codice:

public void ExampleMethod()
{
    int x = 10; // x è disponibile solo all'interno di ExampleMethod
    if (x > 5)
    {
        int y = 20; // y è disponibile solo all'interno del blocco if
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // Errore di compilazione: y non è disponibile qui
}