Sobes.tech
Junior

¿Qué es el ámbito (scoped) en C#?

sobes.tech AI

Respuesta de la IA

El ámbito en C# determina la disponibilidad de variables, métodos y tipos en una parte específica del programa. Es una restricción sobre dónde en el código se puede usar un identificador determinado.

Áreas principales de alcance:

  • Bloque de código: Las variables declaradas dentro de llaves { } solo están disponibles dentro de ese bloque.
  • Alcance del método: Las variables y parámetros declarados dentro de un método solo están disponibles dentro de ese método.
  • Alcance de clase/estructura: Los miembros de una clase o estructura (campos, propiedades, métodos) están disponibles dependiendo de los modificadores de acceso (public, private, protected, internal).
  • Alcance del espacio de nombres: Los tipos declarados en un espacio de nombres están disponibles en ese espacio de nombres y en otros espacios de nombres donde se use using.
  • Alcance de ensamblado: Los tipos con el modificador internal solo están disponibles dentro del ensamblado actual.

Ejemplo de ámbito de bloque de código:

public void ExampleMethod()
{
    int x = 10; // x solo está disponible dentro de ExampleMethod
    if (x > 5)
    {
        int y = 20; // y solo está disponible dentro del bloque if
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // Error de compilación: y no está disponible aquí
}