Este sitio web usa cookies de terceros para analizar el tráfico y personalizar los anuncios. Si no está de acuerdo, abandone el sitio y no siga navegando por él. ×


5.6. Los conflictos de nombres en las variables

¿Qué ocurre si damos el mismo nombre a dos variables locales distintas? Vamos a comprobarlo con un ejemplo:

// Ejemplo_05_06a.cs
// Dos variables locales con el mismo nombre
// Introducción a C#, por Nacho Cabanes

using System;

public class Ejemplo_05_06a
{

    public static void CambiaN() 
    {
        int n = 7;
        n ++;
    }


    public static void Main()
    {
        int n = 5;
        Console.WriteLine("n vale {0}", n);
        CambiaN();
        Console.WriteLine("Ahora n vale {0}", n);
    }
  
}

El resultado de este programa es:

n vale 5
Ahora n vale 5

¿Por qué? Sencillo: tenemos una variable local dentro de "cambiaN" y otra dentro de "main". El hecho de que las dos variables tengan el mismo nombre no afecta al funcionamiento del programa, siguen siendo distintas, porque cada una está en un bloque ("ámbito") distinto.

Si la variable es "global", declarada fuera de estas funciones, sí será accesible por todas ellas:

// Ejemplo_05_06b.cs
// Una variable global
// Introducción a C#, por Nacho Cabanes

using System;

public class Ejemplo_05_06b
{

    static int n = 7;
    
    public static void CambiaN() 
    {
        n ++;
    }

    public static void Main()
    {
        Console.WriteLine("n vale {0}", n);
        CambiaN();
        Console.WriteLine("Ahora n vale {0}", n);
    }
  
}