0Pricing
C# Academy · Leçon

É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

  1. Bases des tuples de valeurs
  2. Éléments nommés des tuples
  3. Déconstruction
  4. Tuples comme valeurs de retour de méthodes
← Retour à C# Academy