static void Main(string[] args) { //Erstellung von Objekten KlassenPerson kPerson = new KlassenPerson("Heiko", 35); StructPerson sPerson = new StructPerson("Anna", 35); //Ausgabe Console.WriteLine(kPerson.alter); Console.WriteLine(sPerson.alter); //Funktionsaufruf Altern(kPerson); Altern(sPerson); //Erneute Ausgabe: Nur das Klassenobjekt (Referenztyp) hat sich verändert Console.WriteLine(kPerson.alter); Console.WriteLine(sPerson.alter); //Übergabe des Wertetyps als Refernz mittels Ref-Stichwort Altern(ref sPerson); Console.WriteLine(sPerson.alter); Console.ReadKey(); }
//Mittels des REF-Stichworts können Wertetypen als Referenz an Methoden übergeben werden. D.h. die übergebene Speicherstelle selbst ///wird manipuliert und nicht, wie normalerweise bei Wertetypen, eine Kopie des Werts. public static void Altern(ref StructPerson sPerson) { sPerson.alter++; }