Übergeben von Parametern (C#-Programmierhandbuch)

In C# können Argumente an Parameter entweder als Wert oder als Verweis übergeben werden. Durch die Übergabe als Verweis können Funktionsmember, Methoden, Eigenschaften, Indexer, Operatoren und Konstruktoren den Wert der Parameter ändern und behalten diese Änderung in der aufrufenden Umgebung bei. Verwenden Sie das Schlüsselwort ref oder out, um einen Parameter als Verweis zu übergeben. Der Einfachheit halber wird in den Beispielen in diesem Thema nur das Schlüsselwort ref verwendet. Weitere Informationen zu den Unterschieden zwischen ref und out finden Sie unter ref, out sowie Übergeben von Arrays mithilfe von „ref“ und „out“.

Das folgende Beispiel veranschaulicht die Unterschiede zwischen Wert- und Verweisparametern.

class Program
{
    static void Main(string[] args)
    {
        int arg;

        // Passing by value.
        // The value of arg in Main is not changed.
        arg = 4;
        squareVal(arg);
        Console.WriteLine(arg);
        // Output: 4

        // Passing by reference.
        // The value of arg in Main is changed.
        arg = 4;
        squareRef(ref arg);
        Console.WriteLine(arg);
        // Output: 16 
    }

    static void squareVal(int valParameter)
    {
        valParameter *= valParameter;
    }

    // Passing by reference
    static void squareRef(ref int refParameter)
    {
        refParameter *= refParameter;
    }
}

Weitere Informationen finden Sie unter den folgenden Themen:

C#-Programmiersprachenspezifikation

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch

C#-Programmierhandbuch
Methoden