Grundlagen der Value Tuples
Erstellen Sie leichtgewichtige Tupel für gruppierte Daten.
Grundlagen der Value Tuples ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Was ist ein Tupel?
Ein Tupel fasst mehrere Werte zu einem kompakten Paket zusammen, ohne dass eine Klasse definiert werden muss. C#-Wertetupel verwenden Klammern: (int, string).
using System;
class Program
{
static void Main()
{
(int, string) pair = (1, "one");
Console.WriteLine(pair.Item1 + " = " + pair.Item2);
}
}Ein Wertetupel erstellen
Schreiben Sie die Werte in Klammern. Der Compiler leitet den Tupeltyp aus ihnen ab.
using System;
class Program
{
static void Main()
{
var point = (3, 4);
Console.WriteLine("x=" + point.Item1 + ", y=" + point.Item2);
}
}Elemente mit Item1 und Item2 abrufen
Auf unbenannte Tupel-Elemente greifen Sie der Reihe nach über Item1, Item2, Item3 und so weiter zu.
using System;
class Program
{
static void Main()
{
var rgb = (255, 128, 0);
Console.WriteLine("R=" + rgb.Item1 + " G=" + rgb.Item2 + " B=" + rgb.Item3);
}
}Tupel können unterschiedliche Typen enthalten
Jedes Element kann einen anderen Typ haben. Ein Tupel kann Zahlen, Zeichenfolgen, boolesche Werte und mehr kombinieren.
using System;
class Program
{
static void Main()
{
var user = ("Ada", 36, true);
Console.WriteLine(user.Item1 + ", age " + user.Item2 + ", active=" + user.Item3);
}
}Tupel sind veränderlich
Die Elemente eines Wertetupels können neu zugewiesen werden, da jedes ItemN ein beschreibbares Feld ist.
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);
}
}Tupel als lokale Pakete
Tupel eignen sich hervorragend, um Werte innerhalb einer Methode vorübergehend zu gruppieren, ohne einen eigenen Typ zu erstellen.
using System;
class Program
{
static void Main()
{
var range = (min: 5, max: 50);
int span = range.max - range.min;
Console.WriteLine("Span: " + span);
}
}Tupel vergleichen
Wertetupel unterstützen Gleichheitsvergleiche: Zwei Tupel sind gleich, wenn alle entsprechenden Elemente gleich sind.
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);
}
}Tupel verschachteln
Ein Tupel-Element kann selbst ein Tupel sein, sodass Sie kleine strukturierte Gruppen aufbauen können.
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);
}
}Tupel in Collections
Sie können Tupel in einer Liste speichern, um zusammengehörige Paardaten ohne Klasse gemeinsam abzulegen.
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);
}
}Wertsemantik
Ein Wertetupel ist ein struct. Beim Zuweisen werden daher die Werte kopiert. Eine Änderung an der Kopie wirkt sich nicht auf das Original aus.
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);
}
}Alles zusammenführen
Wertetupel bieten schnell erstellte, typsichere Gruppierungen, die sich ideal für kurzlebige Daten innerhalb einer Methode oder einer einfachen Liste eignen.
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"));
}
}Kurze Überprüfung
Testen Sie Ihr Verständnis von Wertetupeln.
Zusammenfassung
Ein Wertetupel bündelt mehrere Werte in Klammern wie (int, string), ohne dass eine Klasse erforderlich ist. Auf unbenannte Elemente greifen Sie über Item1 und Item2 zu. Tupel sind veränderliche Structs mit Wertsemantik und unterstützen Gleichheitsvergleiche. Sie eignen sich ideal für schnelle, lokale Gruppierungen.
using System;
class Program
{
static void Main()
{
var t = (1, "one", true);
Console.WriteLine(t.Item1 + " " + t.Item2 + " " + t.Item3);
}
}Häufig gestellte Fragen
Ist die Lektion „Grundlagen der Value Tuples“ kostenlos?
Ja — der vollständige Text von „Grundlagen der Value Tuples“ 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 „Grundlagen der Value Tuples“?
Erstellen Sie leichtgewichtige Tupel für gruppierte Daten. 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 1 von 4.
Wie lange dauert die Lektion „Grundlagen der Value Tuples“?
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
- Grundlagen der Value Tuples
- Benannte Tupel-Elemente
- Dekonstruktion
- Tupel als Rückgabewerte von Methoden