Conceptos básicos de las tuplas de valores
Cree tuplas ligeras para agrupar datos.
Conceptos básicos de las tuplas de valores es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 1 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.
¿Qué es una tupla?
Una tupla agrupa varios valores en un único conjunto ligero sin definir una clase. Las tuplas de valores de C# utilizan paréntesis: (int, string).
using System;
class Program
{
static void Main()
{
(int, string) pair = (1, "one");
Console.WriteLine(pair.Item1 + " = " + pair.Item2);
}
}Crear una tupla de valores
Escriba los valores entre paréntesis. El compilador infiere el tipo de tupla a partir de ellos.
using System;
class Program
{
static void Main()
{
var point = (3, 4);
Console.WriteLine("x=" + point.Item1 + ", y=" + point.Item2);
}
}Acceder a los elementos: Item1, Item2
Se accede a los elementos de una tupla sin nombre mediante Item1, Item2, Item3, y así sucesivamente, en orden.
using System;
class Program
{
static void Main()
{
var rgb = (255, 128, 0);
Console.WriteLine("R=" + rgb.Item1 + " G=" + rgb.Item2 + " B=" + rgb.Item3);
}
}Las tuplas admiten tipos mixtos
Cada elemento puede ser de un tipo diferente. Una tupla puede combinar números, cadenas, valores booleanos y mucho más.
using System;
class Program
{
static void Main()
{
var user = ("Ada", 36, true);
Console.WriteLine(user.Item1 + ", age " + user.Item2 + ", active=" + user.Item3);
}
}Las tuplas son mutables
Los elementos de una tupla de valores se pueden reasignar, ya que cada ItemN es un campo modificable.
using System;
class Program
{
static void Main()
{
var score = (player: "A", points: 0);
score.points = 10;
score.points += 5;
Console.WriteLine(score.player + ": " + score.points);
}
}Tuplas como conjuntos locales
Las tuplas son ideales para agrupar temporalmente valores dentro de un método sin crear un tipo específico.
using System;
class Program
{
static void Main()
{
var range = (min: 5, max: 50);
int span = range.max - range.min;
Console.WriteLine("Span: " + span);
}
}Comparar tuplas
Las tuplas de valores admiten la igualdad: dos tuplas son iguales si todos sus elementos correspondientes son iguales.
using System;
class Program
{
static void Main()
{
var a = (1, 2);
var b = (1, 2);
var c = (1, 3);
Console.WriteLine(a == b);
Console.WriteLine(a == c);
}
}Anidar tuplas
Un elemento de una tupla puede ser otra tupla, lo que permite crear pequeños grupos estructurados.
using System;
class Program
{
static void Main()
{
var line = (start: (0, 0), end: (3, 4));
Console.WriteLine("From " + line.start.Item1 + "," + line.start.Item2 +
" to " + line.end.Item1 + "," + line.end.Item2);
}
}Tuplas en colecciones
Puede almacenar tuplas en una lista para mantener juntos los datos relacionados sin crear una clase.
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var scores = new List<(string, int)>
{
("Ann", 90),
("Bob", 85)
};
foreach (var s in scores)
Console.WriteLine(s.Item1 + ": " + s.Item2);
}
}Semántica de valor
Una tupla de valores es un struct, por lo que al asignarla se copian los valores. Cambiar la copia no afecta al original.
using System;
class Program
{
static void Main()
{
var original = (n: 1);
var copy = original;
copy.n = 99;
Console.WriteLine("original=" + original.n + ", copy=" + copy.n);
}
}Unir todas las piezas
Las tuplas de valores proporcionan agrupaciones tipadas rápidas, ideales para datos de corta duración dentro de un método o una lista sencilla.
using System;
class Program
{
static void Main()
{
var result = (count: 3, total: 150);
double average = (double)result.total / result.count;
Console.WriteLine("Average: " + average.ToString("0.0"));
}
}Comprobación rápida
Compruebe su comprensión de las tuplas de valores.
Resumen
Una tupla de valores agrupa varios valores entre paréntesis, como (int, string), sin necesidad de una clase. Se accede a los elementos sin nombre mediante Item1 y Item2. Las tuplas son estructuras mutables con semántica de valor y admiten la igualdad. Son ideales para agrupaciones locales y rápidas.
using System;
class Program
{
static void Main()
{
var t = (1, "one", true);
Console.WriteLine(t.Item1 + " " + t.Item2 + " " + t.Item3);
}
}Preguntas frecuentes
¿La lección «Conceptos básicos de las tuplas de valores» es gratis?
Sí — el texto completo de «Conceptos básicos de las tuplas de valores» 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 «Conceptos básicos de las tuplas de valores»?
Cree tuplas ligeras para agrupar datos. 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 1 de 4.
¿Cuánto tiempo toma la lección «Conceptos básicos de las tuplas de valores»?
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
- Conceptos básicos de las tuplas de valores
- Elementos con nombre en tuplas
- Deconstrucción
- Tuplas como valores de retorno de métodos