Entwickler-Ecke

Sonstiges (.NET) - Zusammengesetzte Datenstrukturen


OldCat - Sa 08.01.22 18:03
Titel: Zusammengesetzte Datenstrukturen
Hey liebe Gemeinschaft :beer:

Heute bin ich über Code gestolpert, der mich einmal mehr die Achseln zucken lässt:


C#-Quelltext
1:
2:
3:
4:
var phoneDirectory = new Dictionary<string, (string phone, string mobile, string email)>
{

};


Ist das eine zusammengesetzte Datenstruktur aus einem Dictionary und einem named Tupel? Oder einfach nur eine mögliche Überladung von Dictionary? Konnte in den Microsoft.docs, Überladungen für das Dictionary keine passende Überladung finden :gruebel:


Th69 - Sa 08.01.22 19:35

Ja, durch die Klammern wird ein Tupel definiert, welches dann den Wert des Dictionary-Eintrags angibt (und mit einem string als Schlüssel).
Ein neuer Eintrag kann also z.B. so hinzugefügt werden:

C#-Quelltext
1:
phoneDirectory.Add("meine Daten", ("0123 456789""0152 3456789""name@mail.de"));                    


Palladin007 - Sa 08.01.22 19:41

https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/builtin-types/value-tuples

Sollte man aber mit Vorsicht genießen, da es die Lesbarkeit des Codes deutlich negativ beeinflussen kann.
In kleinen Rahmen nutze ich das aber ganz gerne, nur wenn es public wird, sollte es dafür schon einen guten Grund geben.


OldCat - So 09.01.22 10:20

Vielen lieben Dank an euch, das hat mir die Augen geöffnet :)