Éléments nommés des tuples
Donnez des noms explicites aux champs des tuples.
Éléments nommés des tuples est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 4 leçons au total.
Nommer les éléments d'un tuple
Au lieu d'utiliser Item1/Item2, vous pouvez donner des noms aux éléments du tuple pour rendre le code plus lisible : (int Id, string Name).
using System;
class Program
{
static void Main()
{
(int Id, string Name) user = (1, "Ada");
Console.WriteLine(user.Id + ": " + user.Name);
}
}Les noms dans le littéral
Vous pouvez attribuer directement les noms lors de la création du tuple, et le compilateur les mémorise.
using System;
class Program
{
static void Main()
{
var point = (X: 3, Y: 4);
Console.WriteLine("X=" + point.X + ", Y=" + point.Y);
}
}Pourquoi les noms améliorent la clarté
Les éléments nommés expriment l'intention. result.Total est beaucoup plus clair 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"));
}
}Les noms sont des étiquettes facultatives
Les noms des éléments d'un tuple sont une commodité de compilation. En interne, les champs restent Item1, Item2 ; les deux noms fonctionnent.
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);
}
}Les tuples nommés dans les signatures de méthodes
Une méthode peut déclarer un tuple nommé comme type de paramètre ou de retour, ce qui rend l'API explicite.
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);
}
}Mélanger éléments nommés et positionnels
Vous pouvez nommer certains éléments et laisser les autres positionnels, même s'il est plus clair de tous les nommer.
using System;
class Program
{
static void Main()
{
var data = (Id: 7, "guest", Active: true);
Console.WriteLine(data.Id + ", " + data.Item2 + ", " + data.Active);
}
}Les noms avec des membres déduits
Lorsque vous construisez un tuple à partir de variables nommées, C# peut déduire automatiquement les noms correspondants des éléments.
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);
}
}Mettre à jour les éléments nommés
Les éléments nommés restent des champs accessibles en écriture ; vous pouvez donc les réaffecter pendant l'exécution du programme.
using System;
class Program
{
static void Main()
{
var game = (Player: "A", Score: 0);
game.Score += 25;
Console.WriteLine(game.Player + " scored " + game.Score);
}
}Les tuples nommés dans les listes
Les listes de tuples nommés se lisent presque comme des lignes d'un tableau.
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);
}
}Égalité et noms
Les noms n'ont aucun effet sur l'égalité. Deux tuples sont égaux lorsque leurs valeurs correspondent, quels que soient les noms de leurs éléments.
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
}
}Mise en pratique
Les tuples nommés associent la légèreté des tuples à la lisibilité des champs nommés ; ils sont parfaits pour des retours de méthode clairs.
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);
}
}Vérification rapide
Vérifiez votre compréhension des éléments de tuple nommés.
Récapitulatif
Les éléments de tuple nommés, comme (int Id, string Name), rendent les tuples explicites ; vous y accédez par leur nom plutôt que par Item1. Les noms peuvent être déclarés, déduits à partir de variables et utilisés dans les signatures de méthodes. Ce sont des étiquettes connues à la compilation qui n'affectent pas l'égalité, laquelle compare les valeurs.
using System;
class Program
{
static void Main()
{
var user = (Id: 42, Name: "Kai");
Console.WriteLine(user.Name + " #" + user.Id);
}
}Questions Fréquemment Posées
La leçon « Éléments nommés des tuples » est-elle gratuite ?
Oui — le texte complet de « Éléments nommés des tuples » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Éléments nommés des tuples » ?
Donnez des noms explicites aux champs des tuples. Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C# Academy ?
Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Éléments nommés des tuples » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?
Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Bases des tuples de valeurs
- Éléments nommés des tuples
- Déconstruction
- Tuples comme valeurs de retour de méthodes