AnteriorPosterior

5.6. Los conflictos de nombres en las variables

  Curso: Programación en C# (2015), por Nacho Cabanes

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);
    }
 
}
 

Actualizado el: 15-12-2014 14:59

AnteriorPosterior