csharp-tipos-de-datos

Qué son y cómo usar los tipos en C#

C# es un lenguaje de programación orientado a objetos, fuertemente tipado. Por tanto, los tipos de datos determinan las características y el comportamiento de los datos que se manipulan a lo largo de la ejecución de un programa.

En C#, los tipos se dividen en dos grandes categorías:

  • Tipos valor, contienen directamente sus datos y se almacenan en la pila de memoria
  • Tipos referencia, contienen una referencia a sus datos, que se almacenan en el heap

Si quieres aprender más sobre Tipos de datos
consulta el Curso de Introducción a la Programación leer más ⯈

Tipos valor

C# ofrece una serie de tipos de valor predefinidos que se corresponden con los tipos primitivos de .NET Framework. Entre los más comunes se encuentran los siguientes:

Enteros

Los tipos de datos enteros en C# se utilizan para representar números enteros sin parte decimal. Algunos de los tipos de datos enteros más comunes son:

TipoBytesSigned/UnsignedValor MínimoValor Máximo
byte1Unsigned0255
sbyte1Signed-128127
short2Signed-32.76832.767
ushort2Unsigned065.535
int4Signed-2.147.483.6482.147.483.647
uint4Unsigned04.294.967.295
long8Signed-9.223.372.036.854.775.8089.223.372.036.854.775.807
ulong8Unsigned018.446.744.073.709.551.615

Ejemplo:

int numero = 10;
long numeroLargo = 100000L;  // L es necesario para indicar que es tipo long
short numeroCorto = 30000;

Números de punto flotante

Los tipos de datos de punto flotante en C# se utilizan para representar números con parte decimal. Algunos de los tipos de datos de punto flotante más comunes son:

TipoBytesPrecisiónValor MínimoValor Máximo
float4Simple precisión±1.5 x 10^-45±3.4 x 10^38
double8Doble precisión±5.0 x 10^-324±1.7 x 10^308
decimal16Alta precisión±1.0 x 10^-28±7.9 x 10^28

Ejemplos:

float numeroFloat = 10.5f; // f es necesario para indicar que es tipo float
double numeroDouble = 20.99;
decimal numeroDecimal = 100.50m; // m es necesario para indicar que es tipo decimal

Tipos de datos booleanos

El tipo de dato booleano en C# se utiliza para representar valores de true o false. Son necesarias cuando tenemos que evaluar condicionales.

Ejemplo:

bool esVerdadero = true;
bool esFalso = false;

Tipos de datos de caracteres

El tipo de dato de caracteres en C# se utiliza para representar un solo carácter. Se utiliza el tipo de dato char para almacenar caracteres Unicode. Por ejemplo, se puede utilizar para almacenar letras, números o caracteres especiales.

En C# los caracteres se delimitan con entre comillas simples '.

char letra = 'A';

Estructuras

Las struct permiten la creación de tipos de agrupación de valor definidos por el usuario.

public struct Punto
{
    public int X;
    public int Y;
}

Punto punto = new Punto();
punto.X = 10;
punto.Y = 20;

Enumeraciones

Las enum permiten la creación de un conjunto de constantes relacionadas bajo un nombre de tipo específico.

Ejemplo:

enum Dias
{
    Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo
}

Dias hoy = Dias.Lunes;

Tipos de Referencia

Los tipos de referencia incluyen string, arrays, clases (class) y delegados. Por ejemplo, las cadenas string con una clase proporcionada por C# para trabajar con cadenas de texto.

Ejemplo de uso de una variable referencia, en este caso un string.

int[] numeros = {1, 2, 3, 4, 5};
string saludo = "Hola, Mundo!";

Veremos estos tipos más en detalle en posteriores entradas.