0Pricing
C# Academy · Lección

Elementos con nombre en tuplas

Asigne nombres significativos a los campos de las tuplas.

Elementos con nombre en tuplas es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 4 lecciones en total.

Asignar nombres a los elementos de una tupla

En lugar de Item1/Item2, puede asignar nombres a los elementos de una tupla para obtener un código más legible: (int Id, string Name).

using System;

class Program
{
    static void Main()
    {
        (int Id, string Name) user = (1, "Ada");
        Console.WriteLine(user.Id + ": " + user.Name);
    }
}

Nombres en el literal

Puede asignar nombres directamente al crear la tupla y el compilador los conservará.

using System;

class Program
{
    static void Main()
    {
        var point = (X: 3, Y: 4);
        Console.WriteLine("X=" + point.X + ", Y=" + point.Y);
    }
}

Por qué los nombres mejoran la claridad

Los elementos con nombre documentan la intención. result.Total es mucho más claro que result.Item2.

using System;

class Program
{
    static void Main()
    {
        var result = (Count: 3, Total: 150);
        Console.WriteLine("Avg: " + ((double)result.Total / result.Count).ToString("0.0"));
    }
}

Los nombres son etiquetas opcionales

Los nombres de los elementos de una tupla son una comodidad de tiempo de compilación. Internamente, los campos siguen siendo Item1 y Item2; ambas formas funcionan.

using System;

class Program
{
    static void Main()
    {
        var p = (Age: 30, City: "Rome");
        Console.WriteLine(p.Age + " / " + p.Item1);   // same value
        Console.WriteLine(p.City + " / " + p.Item2);
    }
}

Tuplas con nombre en las firmas de métodos

Un método puede declarar una tupla con nombre como tipo de parámetro o de retorno, haciendo que la API se describa por sí misma.

using System;

class Program
{
    static (int Sum, int Product) Compute(int a, int b)
    {
        return (a + b, a * b);
    }

    static void Main()
    {
        var r = Compute(3, 4);
        Console.WriteLine("Sum=" + r.Sum + ", Product=" + r.Product);
    }
}

Combinar nombres y posiciones

Puede asignar nombre a algunos elementos y dejar otros en su posición, aunque resulta más claro asignar nombre a todos.

using System;

class Program
{
    static void Main()
    {
        var data = (Id: 7, "guest", Active: true);
        Console.WriteLine(data.Id + ", " + data.Item2 + ", " + data.Active);
    }
}

Nombres con miembros inferidos

Cuando crea una tupla a partir de variables con nombre, C# puede inferir automáticamente los nombres correspondientes de los elementos.

using System;

class Program
{
    static void Main()
    {
        int width = 10, height = 5;
        var size = (width, height);   // names inferred from variables
        Console.WriteLine("w=" + size.width + ", h=" + size.height);
    }
}

Actualizar elementos con nombre

Los elementos con nombre siguen siendo campos modificables, por lo que puede reasignarlos mientras se ejecuta el programa.

using System;

class Program
{
    static void Main()
    {
        var game = (Player: "A", Score: 0);
        game.Score += 25;
        Console.WriteLine(game.Player + " scored " + game.Score);
    }
}

Tuplas con nombre en listas

Las listas de tuplas con nombre se leen casi como las filas de una tabla.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var people = new List<(string Name, int Age)>
        {
            ("Ann", 30),
            ("Bob", 25)
        };
        foreach (var p in people)
            Console.WriteLine(p.Name + " is " + p.Age);
    }
}

Igualdad con nombres

Los nombres no afectan a la igualdad. Dos tuplas son iguales cuando coinciden sus valores, independientemente de los nombres de sus elementos.

using System;

class Program
{
    static void Main()
    {
        var a = (X: 1, Y: 2);
        var b = (A: 1, B: 2);
        Console.WriteLine(a == b);   // True - values match
    }
}

Unir todas las piezas

Las tuplas con nombre combinan la ligereza de las tuplas con la legibilidad de los campos con nombre, por lo que son perfectas para retornos de métodos claros.

using System;

class Program
{
    static (bool Ok, string Message) Validate(int age)
    {
        if (age < 0) return (false, "Age cannot be negative");
        return (true, "Valid");
    }

    static void Main()
    {
        var v = Validate(-1);
        Console.WriteLine(v.Ok + ": " + v.Message);
    }
}

Comprobación rápida

Compruebe su comprensión de los elementos de tupla con nombre.

Resumen

Los elementos de tupla con nombre, como (int Id, string Name), hacen que las tuplas se documenten por sí mismas; se accede a ellos por nombre en lugar de mediante Item1. Los nombres se pueden declarar, inferir a partir de variables y utilizar en firmas de métodos. Son etiquetas de tiempo de compilación y no afectan a la igualdad, que compara los valores.

using System;

class Program
{
    static void Main()
    {
        var user = (Id: 42, Name: "Kai");
        Console.WriteLine(user.Name + " #" + user.Id);
    }
}

Preguntas frecuentes

¿La lección «Elementos con nombre en tuplas» es gratis?

Sí — el texto completo de «Elementos con nombre en tuplas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Elementos con nombre en tuplas»?

Asigne nombres significativos a los campos de las tuplas. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar C# Academy?

No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Elementos con nombre en tuplas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de C# Academy?

Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Conceptos básicos de las tuplas de valores
  2. Elementos con nombre en tuplas
  3. Deconstrucción
  4. Tuplas como valores de retorno de métodos
← Volver a C# Academy