El alcance de una variable se refiere a la parte del programa donde la variable es accesible. En C#, las variables pueden tener diferentes alcances dependiendo de dónde se declaren.
Si quieres aprender más sobre Ámbito de las Variables
consulta el Curso de Introducción a la Programación leer más
Variables locales
Las variables locales se declaran dentro de un método y solo son accesibles dentro de ese método. Su ciclo de vida comienza cuando el método es invocado y termina cuando el método finaliza.
public void MetodoEjemplo()
{
int numero = 10; // Variable local, solo existe en este método
Console.WriteLine(numero); // ✔️ aqui puedes usarla
}
numero = 5; // ❌ esto daría un error, aquí no existe
Variables de instancia
Las variables de instancia (también llamados campos), se declaran dentro de una clase pero fuera de cualquier método. Son accesibles por todos los métodos de la clase y su ciclo de vida es el mismo que el de la instancia de la clase.
public class Persona
{
public string nombre; // Variable de instancia
public void MostrarNombre()
{
Console.WriteLine(nombre); // ✔️ aqui puedes usarla
}
}
nombre = "Luis"; // ❌ esto daría un error, nombre no existe aquí
Persona persona = new Persona();
persona.nombre = "Luis" // ✔️ esto si funciona
Variables estáticas
Las variables estáticas se declaran con la palabra clave static
y pertenecen a la clase (en lugar de a una instancia específica). Son accesibles sin crear una instancia de la clase y su ciclo de vida dura hasta que finaliza la aplicación.
public class Contador
{
public static int ContadorGlobal; // Variable estática
public void Incrementar()
{
contadorGlobal++; // ✔️ aqui puedes usarla
}
}
ContadorGlobal = 10; // ❌ esto daría un error, nombre no existe aquí
Contador.ContadorGlobal = 10; // ✔️ esto si funciona