Tuplas en C#

Las tuplas en C# permiten agrupar múltiples valores en una sola estructura ligera sin tener que crear clases o structs personalizados. Son muy útiles para devolver múltiples valores desde métodos de forma clara y concisa. Desde C# 7, la sintaxis de tuplas es más potente y legible gracias al soporte nativo con nombres de campos.

Declarar y usar tuplas

Puedes crear tuplas con valores nombrados o posicionales.

var tupla = (Nombre: "Alice", Edad: 30);
Console.WriteLine($"Nombre: {tupla.Nombre}, Edad: {tupla.Edad}");
    

Esto permite acceder a los elementos de forma clara por nombre.

Devolver tuplas desde métodos

Puedes usar tuplas para retornar múltiples valores sin definir clases adicionales.

public (int Cociente, int Resto) Dividir(int dividendo, int divisor) {
    return (dividendo / divisor, dividendo % divisor);
}

var resultado = Dividir(10, 3);
Console.WriteLine($"Cociente: {resultado.Cociente}, Resto: {resultado.Resto}");
    

Esto mejora la legibilidad del código y evita estructuras innecesarias.

Desconstrucción de tuplas

Puedes descomponer tuplas en variables individuales de forma directa.

var (nombre, edad) = tupla;
Console.WriteLine($"Nombre: {nombre}, Edad: {edad}");
    

Esto facilita trabajar con los datos de forma limpia.

Buenas Prácticas

Usa tuplas para resultados simples y temporales. Prefiere clases o records si los datos tienen comportamiento o significado más complejo. Nombra los campos de la tupla para mejorar la legibilidad. Evita usar tuplas muy grandes o anidadas en exceso para mantener el código claro.

Ver también

Documentación oficial de Microsoft

Ver más en Microsoft Docs