Aus dem Kurs: C# – effektiv programmieren in den Versionen 6 bis 11
Erhalten Sie Zugriff auf diesen Kurs – mit einer kostenlosen Probeversion
Werden Sie noch heute Mitglied und erhalten Sie Zugriff auf mehr als 25.300 Kurse von Branchenfachleuten.
ref auf Structs
Aus dem Kurs: C# – effektiv programmieren in den Versionen 6 bis 11
ref auf Structs
Mit C# 7.2 sind Referenzen auf Structs eingeführt worden. Das kombiniert zwei Konzepte in C#, die zu einer wesentlich höheren Effizienz des Codes führen können. Das erste Konzept ist das Anlegen von Strukturen auf dem Stack. Eine Struct wird auf dem Stack der jeweiligen Methode angelegt. Das geht wesentlich schneller als das Anlegen von Objekten auf dem Heap, wie es bei Reference Types der Fall ist. Aber wenn Sie Structs als Parameter an Methoden übergeben, wird jedes Mal die komplette Struct kopiert. Schön wäre es also, wenn man wie bei Reference Types Referenzen auf die Structs übergeben könnte. Und genau das ist ab C# 7.2 möglich. Also, wir haben hier diese Struct Vector3D, die besteht aus drei Double-Werten, das sind 192 Bytes, die würden jedes Mal kopiert werden, wenn ich also so einen Vektor als Parameter übergebe. Und dieses Kopieren kann ich mir sparen, es werden nur 8 Bytes übertragen für eine Referenz auf diese Struct. Jetzt habe ich dieser Struct Vector3D eine Methode…
Üben mit Projektdateien
Laden Sie die Dateien herunter, die von den Trainer:innen verwendet werden. So können Sie mitlesen und durch Ansehen, Zuhören und Üben lernen.
Inhalt
-
-
-
-
Out-Parameter mit Typ, Discard mit _4 Min. 12 Sek.
-
(Gesperrt)
Pattern Matching (x is Customer c)6 Min. 18 Sek.
-
(Gesperrt)
Async Main-Methode2 Min. 22 Sek.
-
(Gesperrt)
Tuples Gleich mit 7.1 name inference2 Min. 54 Sek.
-
(Gesperrt)
default(T)4 Min. 41 Sek.
-
(Gesperrt)
ref auf Structs5 Min. 28 Sek.
-
(Gesperrt)
Unterstriche als Trenner in numerischen Werten1 Min. 16 Sek.
-
-