· Andrés Ledo · NET · Lectura en 4 min
Tipos de datos en C#: Guía completa para principiantes
¿Quieres dominar C#? Descubre nuestra guía definitiva sobre tipos en C# y potencia tus proyectos con conocimientos sólidos y prácticos.
En el lenguaje de programación C#, los tipos son fundamentales para trabajar con variables y valores. Cada tipo tiene propiedades y características únicas que permiten a los desarrolladores crear soluciones eficientes y robustas. En esta guía, aprenderás sobre los diferentes tipos disponibles en C# y cómo utilizarlos en tus proyectos.
Índice
- Tipos de valor y tipos de referencia
- Tipos numéricos: enteros, flotantes y decimales
- Tipos bool y de enumeración
- Estructuras y clases
- Arreglos, delegados e interfaces
- Conclusión
Tipos de valor y tipos de referencia
Tipos de valor
Los tipos de valor son aquellos que almacenan directamente el valor en la memoria. Al asignar un tipo de valor a otro, se crea una copia independiente del valor. Los tipos de valor incluyen:
Tipos numéricos: enteros, flotantes y decimales.
Tipo bool: representa valores verdadero o falso.
Tipos de enumeración: colecciones de constantes con nombres.
Estructuras: agrupaciones de variables relacionadas.
Tipos de referencia
Los tipos de referencia almacenan la dirección de memoria donde se encuentra el valor. Al asignar un tipo de referencia a otro, ambas variables apuntan al mismo objeto en memoria. Los tipos de referencia incluyen:
Cadenas de caracteres: secuencias de caracteres Unicode.
Arreglos: colecciones de elementos del mismo tipo.
Clases: plantillas para crear objetos.
Delegados: referencias a métodos con una firma específica.
Interfaces: contratos que definen un conjunto de miembros.
Tipos numéricos: enteros, flotantes y decimales
Enteros
Los enteros son números sin parte decimal. En C#, hay varios tipos de enteros según el tamaño y el rango de valores que pueden representar. Estos incluyen:
byte
: 8 bits, sin signo (0 a 255)sbyte
: 8 bits, con signo (-128 a 127)short
: 16 bits, con signo (-32,768 a 32,767)ushort
: 16 bits, sin signo (0 a 65,535)int
: 32 bits, con signo (-2,147,483,648 a 2,147,483,647)uint
: 32 bits, sin signo (0 a 4,294,967,295)long
: 64 bits, con signo (-9,223,372,036,854,775,808 a 9,223,372,036,854,775,807)ulong
: 64 bits, sin signo (0 a 18,446,744,073,709,551,615)
Flotantes y decimales
Los números flotantes y decimales representan valores con partes enteras y fraccionarias. En C#, hay tres tipos principales:
float
: 32 bits, precisión simple (±1.5 × 10⁻⁴⁵ a ±3.4 × 10³⁸)double
: 64 bits, precisión doble (±5.0 × 10⁻³²⁴ a ±1.7 × 10³⁰⁸)decimal
: 128 bits, alta precisión (±1.0 × 10⁻²⁸ a ±7.9 × 10²⁸)
Los tipos float
y double
son ideales para cálculos que no requieren alta precisión, como gráficos o simulaciones. El tipo decimal
es adecuado para operaciones financieras y matemáticas que requieren máxima precisión.
Tipos bool y de enumeración
Tipo bool
El tipo bool
representa valores booleanos true
(verdadero) y false
(falso). Es comúnmente utilizado en estructuras de control y comparaciones.
bool esVerdadero = true;
bool esFalso = false;
Tipos de enumeración
Las enumeraciones son conjuntos de constantes con nombres que representan valores numéricos. Permiten organizar y mejorar la legibilidad del código. Para crear una enumeración, se utiliza la palabra clave enum
:
enum DiasSemana { Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo }
Estructuras y clases
Estructuras
Las estructuras son tipos de valor que agrupan variables relacionadas. Se utilizan para representar objetos ligeros con pocas propiedades. Para definir una estructura, se emplea la palabra clave struct
:
struct Punto
{
public int X;
public int Y;
}
Clases
Las clases son tipos de referencia que sirven como plantillas para crear objetos. Permiten encapsular datos y comportamientos en una sola entidad. Para declarar una clase, se utiliza la palabra clave class
:
class Persona
{
public string Nombre;
public int Edad;
}
Arreglos, delegados e interfaces
Arreglos
Los arreglos son colecciones de elementos del mismo tipo. Pueden ser unidimensionales, multidimensionales o de múltiples dimensiones irregulares (jagged). Para crear un arreglo, se emplean corchetes []
:
int[] numeros = new int[5]; // Arreglo unidimensional de enteros
int[,] matriz = new int[3, 3]; // Arreglo bidimensional de enteros
int[][] jagged = new int[3][]; // Arreglo de múltiples dimensiones irregulares
Delegados
Los delegados son tipos de referencia que permiten invocar y almacenar métodos con una firma específica. Se utilizan para implementar eventos y callbacks. Para definir un delegado, se emplea la palabra clave delegate
:
delegate void MiDelegado(string mensaje);
Interfaces
Las interfaces son contratos que establecen un conjunto de miembros (métodos, propiedades, eventos) que una clase o estructura debe implementar. Para declarar una interfaz, se utiliza la palabra clave interface
:
interface IVehiculo
{
void Acelerar(int velocidad);
void Frenar();
}
Conclusión
Dominar los tipos en C# es fundamental para desarrollar aplicaciones eficientes y robustas. En esta guía, aprendimos sobre los diferentes tipos de valor y referencia, incluyendo enteros, flotantes, decimales, bool, enumeraciones, estructuras, clases, arreglos, delegados e interfaces. Ahora estás listo para utilizar estos conceptos en tus proyectos y crear soluciones de calidad en el lenguaje de programación C#