Call by Reference - Adressübergabe

Bei einer Adressübergabe wird dem Unterprogramm beim Aufruf die Speicheradresse der Variablen mitgeteilt.

Somit arbeitet das Unterprogramm und das Hauptprogramm im selben Speicherbereich. Eine Änderung der Variablen im Unterprogramm wird daher auch im Hauptprogramm übernommen.

 

Beispiel:

Im Hauptprogramm wird Fritz der Variablen name zugeordnet und im Unterprogramm durch Peter ersetzt.

namespace Adressuebergabe
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "Fritz"; // Fritz wird in name gespeichert
            Ausgabe(ref name); // Fritz wird in name an die Methode Ausgabe übergeben

            Console.WriteLine("Der Name ist {0}", name);

            Console.ReadLine();
        }
        static void Ausgabe(ref string name)
        {
            name = "Peter"; // Peter wird nun in name gespeichert
        }
    }
}