Esempio n. 1
0
        static void Main(string[] args)
        {
            //Erstellung von Objekten
            PersonC KlassenPerson = new PersonC("Anna", 29);
            PersonS StructPerson  = new PersonS("Otto", 29);

            //Ausgabe
            Console.WriteLine($"{KlassenPerson.name}: {KlassenPerson.alter}");
            Console.WriteLine($"{StructPerson.name}: {StructPerson.alter}");

            //Funktionsaufruf
            Altern(KlassenPerson);
            Altern(StructPerson);

            //Erneute Ausgabe: Nur das Klassenobjekt (Referenztyp) hat sich verändert
            Console.WriteLine($"{KlassenPerson.name}: {KlassenPerson.alter}");
            Console.WriteLine($"{StructPerson.name}: {StructPerson.alter}");

            //Übergabe des Wertetyps als Refernz mittels Ref-Stichwort
            Altern(ref StructPerson);
            Console.WriteLine($"{StructPerson.name}: {StructPerson.alter}");

            Console.ReadKey();
        }
Esempio n. 2
0
 //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 PersonS person)
 {
     person.alter++;
 }