C# Methoden: Rückgabe mehrerer Werte mit Effizienz
Im Gegensatz zu C, das auf Referenzen oder Zeiger für die Rückgabe mehrerer Werte beruht, bietet C# eine sauberere Lösung: Tupel. Tupel werden in C# 7 eingeführt und bieten eine prägnante Möglichkeit, eine Gruppe von Werten mit unterschiedlichen Datentypen darzustellen. Dies erleichtert die Rückgabe mehrerer Werte aus einer Methode erheblich.
Nutzung von Tupeln in C#
Tupel sind vielseitig; Ihre primäre Verwendung hier ist die effiziente Rückgabe mehrerer Werte.
Illustratives Beispiel
Dieses Beispiel zeigt, wie Tupel die Mehrwertrenditen vereinfachen:
(string firstName, string middleName, string lastName) LookupName(long id) { // Data retrieval logic for first, middle, and last names string first = "John"; // Replace with actual retrieval string middle = "Doe"; // Replace with actual retrieval string last = "Smith"; // Replace with actual retrieval return (first, middle, last); // Tuple literal }
Die LookupName
-Methode gibt ein Tupel mit drei Zeichenfolgen zurück. Der Zugriff auf diese Werte ist einfach:
var names = LookupName(id); Console.WriteLine($"Found {names.firstName} {names.lastName}.");
genannte Tupelelemente für Klarheit
Nennen Sie die Tupelelemente direkt:
(string firstName, string middleName, string lastName) LookupName(long id)
Alternativ benennen Sie sie in der Return -Anweisung:
return (firstName: firstName, middleName: middleName, lastName: lastName);
Dekonstruktion für eine vereinfachte Zuordnung
tupel unterstützen die Dekonstruktion und ermöglichen die direkte Zuordnung von Elementen zu Variablen:
(string firstName, string middleName, string lastName) = LookupName(id1);
Weitere Lesen
Erforschen Sie zusätzliche Beispiele und Anwendungen von C# Tupel über den angegebenen Link (Link nicht enthalten, da sie in der ursprünglichen Eingabe nicht bereitgestellt wurden).
Das obige ist der detaillierte Inhalt vonWie können C# -Methoden mehrere Werte effizient zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!