StructPerformance: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Florian (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Florian (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 73: Zeile 73:
</source>
</source>


Die call by value Übergabe gilt auch für einfache Zuweisungen  
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]]