Variables en C# [Parte 1 – Introducción]

En cada programa que construyamos, vamos a necesitar que el usuario (la persona que va a utilizar el programa) ingrese datos o información para que nuestro programa funcione. Por ejemplo, si necesitamos calcular el año de nacimiento de una persona, vamos a necesitar que el usuario ingrese la edad actual, o si queremos multiplicar dos números, vamos a necesitar que el usuario ingrese los dos números para que nuestro programa le devuelva el resultado. Estos datos se guardan dentro de variables, que son pequeños espacios de memoria de nuestra pc que el programa usará para almacenar dicha información.

Variables

Como su nombre lo indica, son espacios de memoria en donde la información va cambiando según la funcionalidad del programa. Por ejemplo, si declaramos una variable llamada «NombreCliente», donde almacenaremos el nombre del cliente, este variará según el cliente que vaya ingresando a la tienda. Primero va a almacenar la información del primer cliente llamado Fulano, y luego de que lo hayamos atendido y venga el segundo, cambiará de valor para almacenar la información del segundo cliente llamado Mengano. Si aún no se entiende el concepto, ya lo veremos más adelante con los ejemplos.

Tipos de datos de variables

Con los tipos de datos de variables le indicamos al programa que tipo de información va a guardar, puede ser un texto, un número, una fecha, etc. Vamos a detallar los tipos de variables en el siguiente cuadro.

TipoDescripciónDeclaración
Tipo de datos alfanuméricos
stringSirve para almacenar todo tipo de texto alfanumérico y el valor se asigna entre comillas.string nombreCliente = "Carlos";
charSirve para almacenar un solo valor alfanumérico y el valor se asigna entre comillas simples.char primeraLetra = 'A';
char ultimaLetra = 'Z';
Tipo de datos lógicos
boolSirve para almacenar valores lógicos, los cuales son verdadero o falso. En C# se debe declarar como true o false, ya que son palabras reservadas por el sistema, es decir, no puedes declarar una variable que se llame true, el propio C# lo marcará como error.bool valorVerdadero = true;
bool valorFalso = false;
Tipo de datos numéricos
byteRepresenta a un número entero positivo que puede tomar los valores entre 0 a 255.byte numberByte = 10;
sbyteRepresenta a un número entero real que puede tomar los valores entre -128 a 127sbyte numberSbyte = -10;
shortRepresenta a un número entero real que puede tomar los valores entre -32.768 a 32.767short numberShort = 30000;
ushortRepresenta a un número entero positivo que puede tomar los valores entre 0 a 65.535ushort numberUshort = 60000;
intEste tipo de dato es el más usado cuando queremos usar una variable numérica. Representa a un número entero real que puede tomar los valores entre -2.147.483.648 a 2.147.483.647int numberInt = 2000000;
uintRepresenta a un número entero positivo que puede tomar los valores entre 0 a 4.294.967.295uint numberUint = 24000000;
longRepresenta a un número entero real que puede tomar los valores entre -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807long numberLong = 800000000000000;
ulongRepresenta a un número entero positivo que puede tomar los valores entre 0 a 18.446.744.073.709.551.615ulong numberUlong = 1900000000000000000;
Tipo de datos numéricos de punto flotante (decimales).
floatSirve para almacenar números decimales. Es el menos pesado de los tres tipos. La precisión de la cantidad de decimales que puedes disponer es de 6 a 9 dígitos aproximadamente. Para almacenar una número dentro de una variable float debes agregar una F al final.float numberFloat = 15.6594225F;
doubleSirve para almacenar números decimales. La precisión de la cantidad de decimales que puedes disponer es de 15 a 17 dígitos aproximadamente. double numberDouble = 3252.6594225654152;
decimalSirve para almacenar números decimales. Es el más pesado de los tres tipos. La precisión de la cantidad de decimales que puedes disponer es de 28 a 29 dígitos. Para almacenar una número dentro de una variable decimal debes agregar una m al final.decimal valorPI = 3.141592653589793238462m;
Tipo de datos de variables en C#

A continuación te voy a nombrar algunos tips para que lo tengas en cuenta en tu día a día.

Es importante que el nombre de la variable sea clara e indique para que sirve. No tengas miedo que el nombre quede bastante largo, el programador que vaya a modificar tu código te lo va a agradecer mucho.

El estilo que uso para nombrar mis variables se llama «CamelCase» y consiste en poner en mayúscula la primera letra de cada palabra, a excepción de la primera palabra, por ejemplo: impuestoVenta, nombreCliente, nombreClienteFrecuente, etc.

Acostúmbrate a declarar el nombre de tus variables en inglés. ¡Así aprenderás muchas palabras nuevas!

Los tipos de datos numéricos son muchos, pero en la práctica, los más usados son int y double.

Reglas para crear una variable

Hay ciertas reglas que tenemos que cumplir para evitar que el compilador de C# nos marque error, las cuales son las siguientes:

  • No debe haber espacios en el nombre de una variable. Por ejemplo, no podemos crear una variable con nombre «apellido del cliente», lo ideal sería poner: «apellidoCliente» o en inglés «customerLastName».
  • No debe haber caracteres especiales dentro de los nombres de la variables, como comenté en los tips, estos deben ser entendibles. Los caracteres especiales son: ‘+’, ‘-‘, ‘@’, cualquier vocal con tilde, etc.
  • Los nombres de las variables no deben empezar por números, pero si puede contenerlos. Por ejemplo: «numberPhone1» y «numberPhone2».
  • Los nombres de las variables no pueden ser palabras reservadas. Una palabra reservada es reconocida por el compilador de C# y normalmente se pinta con azul. Por ejemplo: «int», «false», «class», etc.
  • No puedes tener dos variables con el mismo nombre, el compilador de C# lo marcará como error.
  • C# puede diferenciar mayúsculas y minúsculas, por lo que, podrás tener variables con el nombre parecido, pero no es recomendable hacerlo por buenas prácticas. Ejemplo: «ApellidoCliente» y «apellidoCliente».

Declaración de variables en C#

Dentro de la carpeta donde almacenaremos nuestros programas, crearemos un nuevo programa de consola.

dotnet new console -o Variables1

Luego que se cree el proyecto, abriremos la carpeta creada con Visual Studio Code. Modificaremos nuestro código para agregar las siguientes líneas de código.

using System;
namespace Variables1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Declaramos todas nuestras variables
            string nombreCliente = "Carlos";
            char primeraLetra = 'A';
            char ultimaLetra = 'Z';
            bool valorVerdadero = true;
            bool valorFalso = false;
            byte numberByte = 10;
            sbyte numberSbyte = -10;
            short numberShort = 30000;
            ushort numberUshort = 60000;
            int numberInt = 2000000;
            uint numberUint = 24000000;
            long numberLong = 800000000000000;
            ulong numberUlong = 1900000000000000000;
            float numberFloat = 15.6594225F;
            double numberDouble = 3252.6594225654152;
            decimal valorPI = 3.141592653589793238462m;
            // Podemos agregar comentarios colocando doble slash (//) al inicio de cada línea de código.
            // string apellidoCliente = "Pena";
            // string AplleidoCliente = "Pena";
            // Imprimimos las variables para que se muestre en la consola.
            Console.WriteLine("Imprimiendo el nombre del cliente: " + nombreCliente);
            Console.WriteLine("Imprimiendo primera letra del abecedario: " + primeraLetra);
            Console.WriteLine("Imprimiendo última letra del abecedario: " + ultimaLetra);
            Console.WriteLine("Imprimiendo valor verdadero: " + valorVerdadero);
            Console.WriteLine("Imprimiendo valor falso: " + valorFalso);
            Console.WriteLine("Imprimiendo valor byte: " + numberByte);
            Console.WriteLine("Imprimiendo valor sbyte: " + numberSbyte);
            Console.WriteLine("Imprimiendo valor short: " + numberShort);
            Console.WriteLine("Imprimiendo valor ushort: " + numberUshort);
            Console.WriteLine("Imprimiendo valor int: " + numberInt);
            Console.WriteLine("Imprimiendo valor uint: " + numberUint);
            Console.WriteLine("Imprimiendo valor long: " + numberLong);
            Console.WriteLine("Imprimiendo valor ulong: " + numberUlong);
            Console.WriteLine("Imprimiendo valor float: " + numberFloat);
            Console.WriteLine("Imprimiendo valor double: " + numberDouble);
            Console.WriteLine("Imprimiendo valor decimal o valor de PI: " + valorPI);
            
        }
    }
}

Lo que hemos hecho es declarar variables con todos los tipos de datos de la tabla y luego lo estamos mostrando al usuario gracias al método «WriteLine». Ahora guardamos el archivo modificado, que debería de ser Program.cs, y corremos nuestro programa en la terminal para ver el resultado.

D:\Clase13\ClaseCSharp\Variables1>dotnet run

Lo que veríamos en la terminal, debería ser lo siguiente:

Si te sale lo mismo que a mí, ¡Felicidades! Si tienes algún error, recuerda dejarlo en los comentarios para ayudarte.

Ejercicios

Ejercicio 1. Crea un programa que pida la siguiente información al usuario: nombres, apellidos, edad y salario, y luego muéstrale toda la información en una sola oración, como la siguiente: Hola Carlos Perez, tu edad es 19 y tu salario es 950.30 soles.

Muy bien, manos a la obra. Lo primero que vamos a hacer es crear un nuevo programa de consola. Vamos a la terminal y escribimos los siguientes comandos.

D:\Clase13\ClaseCSharp\Variables1>cd.. 
D:\Clase13\ClaseCSharp>dotnet new console -o Variables2

Con la primera línea «cd..» retrocedemos a la carpeta anterior «ClaseCSharp» y luego creamos un nuevo proyecto con el comando de siempre, a este proyecto le estamos llamando «Variables2». Luego abrimos la carpeta con Visual Studio Code y comenzamos a modificar el archivo «Program.cs».

// Lo primero que tenemos que hacer es declarar nuestras variables.
// Vamos a crear una variable para el nombre, otra para el apellido, y otras dos más para la edad y el salario.
// Vamos a nombrar nuestras variables en inglés.
string name; // Lo declaramos como string porque el nombre es un valor de texto.
string lastName; // Lo declaramos como string porque el apellido es un valor de texto.
int years; // Lo declaramos como entero porque la edad es un número entero positivo (y no tiene decimales).
double salary; // Lo declaramos como double porque el salario puede tener decimales.

En el siguiente bloque de código vamos a pedir la información al usuario y lo vamos a almacenar en las variables previamente declaradas. Para ello vamos a ayudarnos de dos métodos «WriteLine», que nos permite escribir texto en la consola, y «ReadLine», que nos permite capturar lo que el usuario ha escrito para poder almacenarlo en nuestras variables.

// Le pedimos al usuario que ingrese la información.
Console.WriteLine("Ingrese su nombre: ");
name = Console.ReadLine();
Console.WriteLine("Ingrese su apellido: ");
lastName = Console.ReadLine();
Console.WriteLine("Ingrese su edad: ");
// Aquí tenemos que hacer una pequeña adecuación.
// El método ReadLine nos devuelve un texto, y no podemos almacenar un texto dentro de una variable int que es de números enteros.
// Por lo tanto, debemos hacer una conversión (esto lo explicaremos más a fondo en las siguientes clases).
// Con el método int.Parse, vamos a convertir el texto a número entero.
years = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese su salario: ");
// Con la variable salary que es de tipo double pasa lo mismo, por eso debemos convertir de texto a double.
salary = double.Parse(Console.ReadLine());

Ya tenemos la información del usuario almacenadas en nuestras variables, ahora vamos a unir todo para formar la oración que nos han pedido en el ejercicio.

// A la acción de unir diferentes textos se le llama "concatenar" y es algo que vas a ver muchas veces.
// Vamos a crear una variable tipo texto para almacenar la oración.
string outSentence;
// Comenzamos a unir todas nuestras variables para formar la oración.
outSentence = "Hola " + name + " " + lastName + ", tu edad es " + years + " y tu salario es " + salary + " soles.";
// Aquí debemos dejar claro dos cosas.
// El signo más (+) sirve para unir dos palabras, siempre y cuando, las dos variables sean de tipo texto.
// Si pones un signo más entre dos variables numéricas, estas se sumarán.
// Y lo otro, siempre que concatenes, nunca te olvides de los espacios para que tu oración quede perfecta.
// Ahora mostramos el resultado.
Console.WriteLine("La oración final es: " + outSentence);

Con esto hemos terminado de programar nuestro primer ejercicio (recuerda guardar los cambios), ahora nos toca correr el programa, ¡ojalá funcione todo bien! Vamos a la terminal y escribimos el comando dotnet run para que C# comience el proceso de compilación. Cuando termine, el programa comenzará a pedirte la información que necesita para mostrarte la oración final. Llena todo y te debe aparecer como a mí.

¿Te salió? Si es así… ¡Felicidades! Y si no, recuerda dejar un comentario para poder ayudarte.

A continuación, te voy a dejar el código completo sin ningún comentario.

using System;
namespace Variables2
{
    class Program
    {
        static void Main(string[] args)
        {
            // Declaramos las variables.
            string name;
            string lastName;
            int years;
            double salary;
            // Solicitamos la información.
            Console.WriteLine("Ingrese su nombre: ");
            name = Console.ReadLine();
            Console.WriteLine("Ingrese su apellido: ");
            lastName = Console.ReadLine();
            Console.WriteLine("Ingrese su edad: ");
            years = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese su salario: ");
            salary = double.Parse(Console.ReadLine());
            
            // Agregamos la lógica correspondiente.
            string outSentence;
            outSentence = "Hola " + name + " " + lastName + ", tu edad es " + years + " y tu salario es " + salary + " soles.";
            // Mostramos el resultado final.
            Console.WriteLine("La oración final es: " + outSentence);
        }
    }
}

Ejercicio 2. Crea un programa que solicite al usuario dos números enteros y que muestre el resultado de la suma de ambos números.

Este programa es bastante sencillo, así que iremos directamente al código. Recuerda crear un proyecto nuevo de consola con los comandos que ya te indiqué previamente.

using System;
namespace Variables3
{
    class Program
    {
        static void Main(string[] args)
        {
            // El ejercicio pide que sumemos dos números enteros.
            // Así que vamos a declarar dos variables para almacenar ambos números.
            // Y una variable para almacenar el resultado de la suma.
            int numberOne;
            int numberTwo;
            int sumResult;
            // Solicitamos al usuario los números para almacenarlos en nuestras variables.
            // No te olvides de convertir el texto a número con int.Parse
            Console.WriteLine("Ingrese el primer número: ");
            numberOne = int.Parse(Console.ReadLine());
            Console.WriteLine("Ingrese segundo número: ");
            numberTwo = int.Parse(Console.ReadLine());
            // Sumamos ambos números y almacenamos el resultado.
            sumResult = numberOne + numberTwo;
            // En este ejercicio, el signo más (+) no juntará los números.
            // Ahora los sumará ya que ambas variables son numéricas.
            // Mostramos el resultado de la suma.
            Console.WriteLine("El resultado de la suma es: " + sumResult);
            // En este caso, el signo más (+) si juntará las palabras ya que uno de ellos es un texto.
        }
    }
}

Guardamos los cambios y ahora corremos el programa desde la terminal, te debería aparecer como a mí.

¿Fácil? Claro que sí, ahora te toca a ti.

Ejercicio 3. Crea un programa que le pida al usuario su nombre y su edad actual, y el programa le debe mostrar cuantos años tendrá dentro de 10 años. La oración debe ser la siguiente: Hola Junior, tu edad dentro de 10 años será 39.

Ejercicio 4. Crea un programa que le pida al usuario su nombre y sus asignaturas favoritas. El programa debe mostrar la siguiente oración: Hola Kimberly, tus asignaturas favoritas son: Matemática, Historia y Ciencias.


Espero que el contenido de esta clase te haya servido de mucho, y si aún tienes dudas, o algo no está claro, déjanos tu comentario para tenerlo en cuenta y explayarnos un poco más (o corregir) en caso sea necesario.

Nos sería de mucha ayuda que compartas el contenido si te ha gustado y te invitamos a seguirnos en nuestras redes sociales de Clase13, estamos en Facebook, Instagram y Twitter como @Clase13lat, de esa manera te enterarás de las últimas novedades de manera rápida. También te invito a seguirme en Instagram como @rodolfopenia donde estaré subiendo contenido adicional para complementar la clase.