Übergeben von Parametern (C#-Programmierhandbuch)

In C# können Argumente als Wert oder als Verweis an Parameter übergeben werden. Durch Übergeben als Verweis können Funktionsmember, Methoden, Eigenschaften, Indexer, Operatoren und Konstruktoren den Wert der Parameter ändern, und diese Änderung bleibt in der Aufrufumgebung erhalten. Um einen Parameter als Verweis zu übergeben, verwenden Sie das ref-Schlüsselwort oder das out-Schlüsselwort. Zur besseren Übersicht wird in den Beispielen dieses Themas nur das ref-Schlüsselwort verwendet. Weitere Informationen zum Unterschied zwischen ref und out erhalten Sie unter ref (C#-Referenz), out (C#-Referenz) und Übergeben von Arrays mithilfe von "ref" und "out" (C#-Programmierhandbuch).

Im folgenden Beispiel werden die Unterschiede zwischen Wert- und Verweisparametern veranschaulicht.

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 finden Sie in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch

Referenz

Methoden (C#-Programmierhandbuch)

Konzepte

C#-Programmierhandbuch