Tipos de datos en C#

En C#, un tipo de datos es una categoría que define un conjunto de valores y el conjunto de operaciones permitidas sobre ellos. Los tipos de datos en C# se pueden clasificar en dos categorías: tipos de valor y tipos de referencia.

  1. Tipos de valor: Son aquellos tipos de datos que representan valores concretos, como números enteros, números de punto flotante, caracteres, etc. Algunos ejemplos de tipos de valor en C# son int, float, double, char, etc.
  2. Tipos de referencia: Son aquellos tipos de datos que representan referencias a objetos en memoria, como cadenas, arreglos, clases, etc. Algunos ejemplos de tipos de referencia en C# son string, object, dynamic, etc.

Además de estos dos tipos de datos, C# también proporciona tipos de datos especiales, como tipos de datos nullables, que permiten que una variable pueda tener un valor null.

Es importante elegir el tipo de datos adecuado para cada variable en el código, ya que esto puede tener un impacto en la eficiencia y la seguridad de la aplicación.

Números enteros

En C#, los números enteros son un tipo de valor que representa números sin decimales. Los números enteros en C# incluyen los siguientes tipos: byte, short, int, long.

  • byte es un número entero sin signo que puede almacenar valores entre 0 y 255.
  • short es un número entero con signo que puede almacenar valores entre -32768 y 32767.
  • int es un número entero con signo que puede almacenar valores entre -2147483648 y 2147483647.
  • long es un número entero con signo que puede almacenar valores entre -9223372036854775808 y 9223372036854775807.

Por ejemplo, el siguiente código muestra cómo se pueden declarar variables de diferentes tipos de números enteros en C#:


byte edad = 30;
short añosDeExperiencia = 5;
int númeroDeEmpleados = 1000;
long poblaciónMundial = 7_000_000_000;

Lenguaje del código: C# (cs)

Números de punto flotante

En C#, los números flotantes son un tipo de valor que representan números con decimales. Los números flotantes en C# incluyen los siguientes tipos: float y double.

  • float es un número de punto flotante con precisión simple que puede almacenar valores con una precisión de 7 dígitos decimales aproximadamente.
  • double es un número de punto flotante con precisión doble que puede almacenar valores con una precisión de 15-16 dígitos decimales aproximadamente.

Por ejemplo, el siguiente código muestra cómo se pueden declarar variables de diferentes tipos de números flotantes en C#:


float pi = 3.1415926535f;
double tasaDeInteres = 0.05;

Lenguaje del código: C# (cs)

Es importante elegir el tipo de números flotante y entero adecuado para cada variable en el código, ya que esto puede afectar la memoria utilizada y la precisión de los valores almacenados.

Decimal en C#

En C#, los decimales son un tipo de valor que representan números con una precisión exacta y se utilizan para representar valores monetarios y otros valores que requieren una precisión exacta.

El tipo decimal en C# es un número de punto flotante con precisión exacta y puede almacenar valores con una precisión de hasta 28-29 dígitos decimales.

Por ejemplo, el siguiente código muestra cómo se puede declarar una variable de tipo decimal en C#:


decimal salario = 75000.00m;

Lenguaje del código: C# (cs)

Es importante usar el tipo decimal cuando se requiera una precisión exacta, ya que los números flotantes pueden no representar valores de manera exacta debido a la manera en que se almacenan en la memoria.

Carácteres en C#

En C#, los caracteres son un tipo de valor que representa un solo carácter en el alfabeto Unicode. El tipo char en C# se utiliza para representar un carácter y se puede almacenar en una sola variable. Los caracteres se representan entre comillas simples, por ejemplo: 'a', 'b', 'c', etc.

El siguiente código muestra cómo se puede declarar una variable de tipo char en C#:

char inicial = 'J';
Lenguaje del código: C# (cs)

Los caracteres en C# se pueden utilizar en operaciones matemáticas, comparaciones, manipulaciones de cadenas, y muchas otras tareas en el código.

Aquí hay un ejemplo de código en C# que utiliza variables de tipo char:


using System;

namespace CharacterExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Declare una variable de tipo char
            char letra = 'A';

            // Imprimir el valor de la variable de tipo char
            Console.WriteLine("El valor de la variable de tipo char es: " + letra);

            // Cambiar el valor de la variable de tipo char
            letra = 'B';

            // Imprimir el nuevo valor de la variable de tipo char
            Console.WriteLine("El nuevo valor de la variable de tipo char es: " + letra);

            // Esperar para que el usuario presione una tecla para finalizar
            Console.ReadKey();
        }
    }
}
Lenguaje del código: JavaScript (javascript)

En este ejemplo, se declara una variable letra de tipo char y se asigna el valor 'A'.

Luego, se imprime en la consola el valor de la variable con Console.WriteLine().

Finalmente, se cambia el valor de la variable letra a 'B' y se vuelve a imprimir en la consola el nuevo valor.

Boleanos en C#

En C#, los tipos booleanos son un tipo de valor que solo pueden tener dos valores: true o false. El tipo bool en C# se utiliza para representar valores lógicos o para tomar decisiones en el código.

El siguiente código muestra cómo se puede declarar una variable de tipo bool en C#:


bool esMayorDeEdad = true;

Lenguaje del código: C# (cs)

Se declara una variable esMayorDeEdad de tipo bool y se le asigna el valor true. Esto significa que la persona es mayor de edad.

Los valores bool se utilizan en operaciones de comparación, para tomar decisiones en el código con estructuras como if y switch, y en muchas otras situaciones donde se requiere un valor lógico.

Tipos de datos por referencia

En C#, los tipos de datos por referencia son aquellos que se almacenan en la memoria dinámica y se accede a ellos a través de una referencia. Esto significa que, en lugar de almacenar directamente el valor de un objeto en la memoria, se almacena una referencia a ese objeto.

Los tipos de datos por referencia incluyen clases, arreglos, delegates y objetos. Cuando se asigna una referencia a un objeto a otra variable, ambas variables apuntan al mismo objeto en la memoria, por lo que los cambios realizados en una variable se reflejarán en la otra.

Este comportamiento difiere del de los tipos de datos por valor, que almacenan directamente el valor de un objeto en la memoria y cada variable tiene una copia independiente del valor.

Por ejemplo:


using System;

namespace ReferenceTypeExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Crear un objeto de tipo persona
            Person persona = new Person();
            persona.Nombre = "Juan";

            // Asignar una referencia al objeto a otra variable
            Person otraPersona = persona;

            // Cambiar el nombre de la segunda persona
            otraPersona.Nombre = "Pedro";

            // Mostrar el nombre de ambas personas
            Console.WriteLine("Nombre de la primera persona: " + persona.Nombre);
            Console.WriteLine("Nombre de la segunda persona: " + otraPersona.Nombre);

            // Esperar para que el usuario presione una tecla para finalizar
            Console.ReadKey();
        }
    }

    class Person
    {
        public string Nombre { get; set; }
    }
}

Lenguaje del código: C# (cs)

En este ejemplo, se crea un objeto de tipo Person y se le asigna una referencia a ese objeto a la variable persona. Luego, se asigna esa misma referencia a otra variable, otraPersona.

Cuando se cambia el nombre de otraPersona, también se cambia el nombre de persona, ya que ambas variables apuntan al mismo objeto en la memoria.

Curso de C# Desde Cero

Inscríbete Ahora