Declaración de variables.

Un variable no es más que un espacio de memoria que almacena valores. Estos valores podrán ir cambiando a lo largo del desarrollo del programa según nuestras necesidades, por ejemplo, para realizar operaciones aritméticas. Veamos el siguiente código:

class MiPrimerPrograma
{
    public static void Main()
    {
        string a = "Mi variable de texto";
        float b = 2.3F;
        int c = 2;
        float d;
        d = b;
        System.Console.WriteLine("{0} {1} {2} {3}", a, b, c, d);
        System.Console.ReadKey();
    }
}

Las cuatro variables declaradas serán sólo visibles dentro del bloque de código en el que están encerradas, en este caso dentro del método 'Main'. Tenemos tres variables, cada unoa de un tipo diferente: 'a' es de tipo de cadena de texto, 'b' es del tipo de número real y 'c' es del tipo entero. Cada una de ellas ha sido inicializada con un valor, pero la asignación de valor puede realizarse más adelante en otro punto de la ejecución del programa, como ha sido el caso de la variable 'd', que posteriormente ha recibido el valor de la variable 'b'. Finalmente, la línea 'System.Console.ReadKey();' será la encargada de no finalizar el programa hasta que se pulsa un carácter cualquiera del teclado.

Como resultado de ello, el programa dará la siguiente salida por la consola: Mi variable de texto 2,3 2 2,3

Hay multitud de tipos de variables, según nuestras necesidades para ellas: 'sbyte', 'short', 'int', 'long', 'char', 'float', 'double', 'decimal' y 'bool'. Las cinco primeras con de tipo entero, las tres siguientes son de tipo real y la última podrá almacenar los valores 'verdadero' (true) o 'falso' (false).

Es importante, a efectos de no despilfarrar memoria, hacer uso de los tipos correctos para cada variable según vaya a ser su uso. Es decir, sería un despilfarro utilizar una variable de tipo 'double' si sólo vamos a almacenar en ella números enteros. Por ello, la siguiente tabla nos será de gran ayuda:

byte System.Byte 0 a 255
sbyte System.SByte -128 a 127
short System.Int16 -32768 a 32767
ushort System.Uint16 0 a 65535
int System.Int32 -2147483648 a 2147483647
uint System.Uint32 0 a 4294967295
long System.Int64 -9223372036854775808 a 9223372036854775807
ulong System.UInt64 0 a 18446744073709551615
float System.Single ±1.401298E-45 a ±3,402823E+38
double System.Double ±4,94065645841246E-324 a ±1,79769313486232E+308
decimal System.Decimal -7,9228162514264337593543950335 a 7,9228162514264337593543950335
char System.Char '\u0000' a '\uFFFF'
bool System.Boolean 'true' o 'false'