StructPerformance: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 73: | Zeile 73: | ||
</source> | </source> | ||
Call by value gilt auch für einfache Zuweisungen: | |||
<source lang="csharp"> | |||
//Klassen | |||
Test class1 = new Test(2); | |||
Test class2 = class1; //class2 ist jetzt eine kopierte Referenz, die auf die selbe Instanz von Test zeigt wie class1 | |||
System.Console.WriteLine(class1.number); //gibt 2 aus | |||
System.Console.WriteLine(class2.number); //gibt 2 aus | |||
class2.number = 4; | |||
System.Console.WriteLine(class1.number); //gibt 4 aus | |||
System.Console.WriteLine(class2.number); //gibt 4 aus | |||
class2 = new Test(7); //Die Referenz class2 zeigt jetzt auf eine neue Instanz der Klasse Test | |||
System.Console.WriteLine(class1.number); //gibt 4 aus | |||
System.Console.WriteLine(class2.number); //gibt 7 aus | |||
//Structs | |||
Vector3 struct1 = new Vector3(2.0f); | |||
Vector3 struct2 = struct1; //struct2 ist jetzt eine neue Struct mit den selben Werten wie struct1 | |||
System.Console.WriteLine(struct1); //gibt {X:2 Y:2 Z:2} aus | |||
System.Console.WriteLine(struct2); //gibt {X:2 Y:2 Z:2} aus | |||
struct2.x = 4.0f; | |||
System.Console.WriteLine(struct1); //gibt {X:2 Y:2 Z:2} aus | |||
System.Console.WriteLine(struct2); //gibt {X:4 Y:2 Z:2} aus | |||
</source> | |||
== Call by Reference == | == Call by Reference == | ||
== Rückgabewerte == [[Kategorie:Code-Beispiele]] | == Rückgabewerte == [[Kategorie:Code-Beispiele]] | ||
