Der Referenzparameter wird verwendet, um auf den Speicherort einer Variablen zu verweisen. Im Gegensatz zu Wertparametern, die einen neuen Speicherort für den Parameter erfordern, stellen Referenzparameter denselben Speicherort dar wie die ursprünglichen Parameter, die als Argumente an die Methode übergeben wurden. In C# verwenden wir das Schlüsselwort „ref“, um Referenzparameter zu deklarieren. Wenn wir Referenzargumente als Parameter an eine Funktion in C# übergeben, übergeben wir die Referenz auf den Speicherort anstelle des ursprünglichen Werts. Wir bezeichnen dieses Konzept in C# als „Call by Reference“.
Syntax
1 | ref data_typevariable_name
|
Nach dem Login kopieren
Wobei data_type der Datentyp der Variablen mit Variablenname ist.
Funktionsweise von C# Call By Reference
- Immer wenn die Notwendigkeit besteht, eine Funktion aufzurufen, die Argumente akzeptiert, und wenn wir die Referenzadresse der Variablen im Speicherort als Argument an die Funktion übergeben möchten, verwenden wir in C# Call-by-Reference.
- Ein Referenzparameter ist ein Parameter, der die Adresse einer Variablen im Speicher empfängt.
Beispiele
Im Folgenden finden Sie die genannten Beispiele:
Beispiel #1
C#-Programm zur Demonstration von Call-by-Reference, bei dem wir das Quadrat einer Zahl berechnen und die Werte anzeigen, bevor wir die Funktion per Referenz aufrufen und nachdem die Funktion aufgerufen wurde.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | using System;
namespace program1
{
class check
{
public void displaypower(ref double value)
{
double power = Math.Pow(value,2);
value = value + power;
Console.WriteLine( "Value when the control is inside the function " +value);
}
static void Main(string[] args)
{
double value = 5;
check check1 = new check();
Console.WriteLine( "Value before the function is called " +value);
check1.displaypower(ref value);
Console.WriteLine( "The value of the variable remains the same as inside the function because we are calling the function by reference " + value);
}
}
}
|
Nach dem Login kopieren
Ausgabe:

Erklärung:
- Im angegebenen Programm definieren wir den Namensraum „Programm1“. Innerhalb dieses Namensraums haben wir eine Klasse namens „check“, die eine Funktion enthält. Diese Funktion verwendet eine Referenzvariable als Argument.
- Die Funktion verwendet den als Referenz übergebenen Wert, berechnet das Quadrat des Werts, addiert es zum tatsächlichen Wert und zeigt dann den resultierenden Wert an.
Beispiel #2
C#-Programm zur Demonstration von Call-by-Reference, bei dem wir die angegebene Zeichenfolge in Kleinbuchstaben in Großbuchstaben umwandeln, indem wir die Funktion per Referenz aufrufen und die Zeichenfolge in Kleinbuchstaben als Referenzparameter übergeben.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | using System;
namespace program1
{
class check
{
public void displayupper(ref string value)
{
value = value.ToUpper();
Console.WriteLine( "Value when the control is inside the function " +value);
}
static void Main(string[] args)
{
string value = "shobha" ;
check check1 = new check();
Console.WriteLine( "Value before the function is called " +value);
check1.displayupper(ref value);
Console.WriteLine( "The value of the variable remains the same as inside the function because we are calling the function by reference " + value);
}
}
}
|
Nach dem Login kopieren
Ausgabe:

Erklärung:
- Im obigen Programm definiere ich einen Namespace namens „program1“. Dann definiere ich innerhalb dieses Namensraums eine Klasse namens „check“. Innerhalb der „check“-Klasse definiere ich eine Funktion, die eine Referenzvariable als Argument akzeptiert.
- Die Funktion nimmt den übergebenen Wert als Referenz und wandelt die angegebene Zeichenfolge mithilfe der ToUpper()-Methode in Kleinbuchstaben in Großbuchstaben um.
Empfohlene Artikel
Dies ist eine Anleitung zum C# Call By Reference. Hier besprechen wir den Einstieg mit Arbeits- und Programmierbeispielen. Sie können auch einen Blick auf die folgenden Artikel werfen, um mehr zu erfahren –
- C#-Wörterbuch
- DataReader C#
- IEnumerable C#
- C# System.IO
Das obige ist der detaillierte Inhalt vonC#-Aufruf per Referenz. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!