Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Aufruf per Referenz

C#-Aufruf per Referenz

WBOY
WBOYOriginal
2024-09-03 15:26:321080Durchsuche

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

ref data_typevariable_name

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:

using System;
//a namespace called program1 is defined
namespace program1
{
//a class called check is defined
class check
{
//a function is defined which takes reference variable as an argument
public void displaypower(ref double value)
{
//the square of the passed value is found using pow method
double power = Math.Pow(value,2);
//The resulting value is added to the value passed as reference
value = value + power;
Console.WriteLine("Value when the control is inside the function "+value);
}
//main method is called
static void Main(string[] args)
{
//a double variable is defined
double value = 5;
//an instance of the check class is defined which consists of the function taking reference parameter as an argument
check check1 = new check();
Console.WriteLine("Value before the function is called "+value);
//a function is called by reference
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);
}
}
}

Ausgabe:

C#-Aufruf per Referenz

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:

using System;
//a namespace called program1 is defined
namespace program1
{
//a class called check is defined
class check
{
//a function is defined which takes reference variable as an argument
public void displayupper(ref string value)
{
//ToUpper method is used to convert the string from small letters to capital letters
value = value.ToUpper();
Console.WriteLine("Value when the control is inside the function "+value);
}
//main method is called
static void Main(string[] args)
{
//a double variable is defined
string value = "shobha";
//an instance of the check class is defined which consists of the function taking reference parameter as an argument
check check1 = new check();
Console.WriteLine("Value before the function is called "+value);
//a function is called by reference
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);
}
}
}

Ausgabe:

C#-Aufruf per Referenz

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 –

  1. C#-Wörterbuch
  2. DataReader C#
  3. IEnumerable C#
  4. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C#-ReferenzenNächster Artikel:C#-Referenzen