Khabarakh hat folgendes geschrieben: |
Wie oft änderst du deine Record-Felder, dass dir jeweils eine zusätzliche Zeile so weh tut ? Und im Gegensatz zu Delphi kannst du die Initialisierung gar nicht vergessen, sonst gibts Haue vom Compiler . |
Besonders schön ist es wenn man fleißig über die Grenzen hinausschreibt und plötzlich ^Blaubeermuffin auf Schweinsbraten zeigt. (Wobei es da ja sizeof(T) gibt)
Das Füllen mit Nullen ist in .Net unnötig. Auch wenn dich der C# compiler dämlicherweise zwingt Variablen zu initialisieren, die Runtime wird es nicht zulassen, dass eine lokale Variable nicht initialisiert ist.
Außerdem werden beim Anlegen einen valuetypes auf dem Stack alle Felder mit 0 initialisiert.
Der Default constructor, den du bei einem ValueType immer hast, erledigt genau das für dich.
C#-Quelltext
1:
| MyValueType instance = new MyValueType(); |