0Pricing
C# Academy · Lektion

Benannte Tupel-Elemente

Geben Sie Tupel-Feldern aussagekräftige Namen.

Benannte Tupel-Elemente ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.

Tupel-Elemente benennen

Statt Item1/Item2 können Sie Tupel-Elementen Namen geben, damit der Code besser lesbar ist: (int Id, string Name).

using System;

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

Namen im Literal

Sie können Namen direkt beim Erstellen des Tupels angeben, und der Compiler merkt sie sich.

using System;

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

Warum Namen die Verständlichkeit verbessern

Benannte Elemente machen die Absicht deutlich. result.Total ist wesentlich verständlicher als 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"));
    }
}

Namen sind optionale Bezeichnungen

Namen von Tupel-Elementen sind eine Kompilierzeithilfe. Intern heißen die Felder weiterhin Item1 und Item2; beide Namen funktionieren.

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);
    }
}

Benannte Tupel in Methodensignaturen

Eine Methode kann ein benanntes Tupel als Parameter- oder Rückgabetyp deklarieren und macht die API dadurch selbsterklärend.

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);
    }
}

Benannte und positionale Elemente kombinieren

Sie können einige Elemente benennen und andere positional lassen, auch wenn es verständlicher ist, alle zu benennen.

using System;

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

Namen mit abgeleiteten Membern

Wenn Sie ein Tupel aus benannten Variablen erstellen, kann C# passende Elementnamen automatisch ableiten.

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);
    }
}

Benannte Elemente aktualisieren

Benannte Elemente sind weiterhin beschreibbare Felder, sodass Sie sie während der Programmausführung neu zuweisen können.

using System;

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

Benannte Tupel in Listen

Listen mit benannten Tupeln lesen sich fast wie Zeilen in einer Tabelle.

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);
    }
}

Gleichheit mit Namen

Namen wirken sich nicht auf die Gleichheit aus. Zwei Tupel sind gleich, wenn ihre Werte übereinstimmen, unabhängig von den Namen ihrer Elemente.

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
    }
}

Alles zusammenführen

Benannte Tupel verbinden die Leichtigkeit von Tupeln mit der Lesbarkeit benannter Felder und eignen sich perfekt für verständliche Methodenrückgaben.

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);
    }
}

Kurze Überprüfung

Testen Sie Ihr Verständnis benannter Tupel-Elemente.

Zusammenfassung

Benannte Tupel-Elemente wie (int Id, string Name) machen Tupel selbstdokumentierend; Sie greifen über den Namen statt über Item1 darauf zu. Namen können deklariert, aus Variablen abgeleitet und in Methodensignaturen verwendet werden. Sie sind Kompilierzeitbezeichnungen und wirken sich nicht auf die Gleichheit aus, bei der die Werte verglichen werden.

using System;

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

Häufig gestellte Fragen

Ist die Lektion „Benannte Tupel-Elemente“ kostenlos?

Ja — der vollständige Text von „Benannte Tupel-Elemente“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Benannte Tupel-Elemente“?

Geben Sie Tupel-Feldern aussagekräftige Namen. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C# Academy zu starten?

Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Benannte Tupel-Elemente“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?

Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Grundlagen der Value Tuples
  2. Benannte Tupel-Elemente
  3. Dekonstruktion
  4. Tupel als Rückgabewerte von Methoden
← Zurück zu C# Academy