Пример #1
0
        static void Main(string[] args)
        {
            //Erstellung von Objekten
            KlassenPerson kPerson = new KlassenPerson("Otto", 30);
            StructPerson  sPerson = new StructPerson("Anna", 30);

            //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 (auch das Structobjekt hat sich verändert)
            Altern(ref sPerson);
            Console.WriteLine(sPerson.Alter);

            Console.ReadKey();
        }
Пример #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 StructPerson person)
 {
     person.Alter++;
 }