Heim > Artikel > Backend-Entwicklung > C#-Out-Parameter
„out“ ist ein Schlüsselwort in C#, das verwendet wird, um Argumente als Referenztyp an eine Methode zu übergeben. Variablen, die als Out-Parameter an eine Methode übergeben werden, müssen nicht deklariert oder initialisiert werden, bevor sie an den Methodenaufruf übergeben werden. Die aufgerufene Methode muss den Variablen der Out-Parameter Werte zuweisen, bevor das Steuerelement die aufgerufene Methode verlässt und bevor die aufgerufene Methode einen Wert an die aufrufende Methode zurückgibt. Es ist möglich, mehrere Parameter an eine Methode zu übergeben und die Methode gibt mehrere Werte zurück.
Syntax mit Erklärung:
Beim Aufrufen der Methode mit dem Out-Parameter lautet die Syntax wie folgt:
Method_name(out data_type variable_name);
Hier ist Methodenname ein beliebiger benutzerdefinierter Name, der der Methode gegeben wird, „out“ ist das Schlüsselwort, mit dem ausgedrückt wird, dass die an die Methode übergebene Variable ein Out-Parameter ist, Datentyp kann ein beliebiger Datentyp der Variablen sein und Variablenname ist der benutzerdefinierte Name der Variablen.
Die Syntax für die aufzurufende Methode lautet wie folgt:
access_specifier return_type Method_name(out data_type variable_name);
Hier kann access_specifier ein beliebiger Zugriffsspezifizierer unter den fünf von C# unterstützten Zugriffsspezifizierern sein, z. B. öffentlich oder privat. Dann ist return_type der Datentyp, den diese Methode zurückgibt, gefolgt vom Methodennamen und der „out“-Parameterliste.
In C# funktioniert das Schlüsselwort „out“ ähnlich wie die Schlüsselwörter „ref“ und „in“. Der Unterschied zwischen den Parametern „out“ und „ref“ besteht darin, dass die Parametervariablen „out“ nicht initialisiert werden müssen, bevor sie an eine Methode übergeben werden. Der Benutzer kann die Parametervariable „out“ in der Argumentliste der Methode deklarieren Anstatt es separat zu deklarieren, wird dies als Inline-Deklaration des „out“-Parameters bezeichnet, während die „ref“-Parametervariablen initialisiert werden müssen, bevor sie an eine Methode übergeben werden. Auf die inline deklarierten „out“-Parameter kann im selben Codeblock zugegriffen werden.
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { //inline declaration of 'out' parameter Display(out int num); Console.WriteLine("Value of variable 'num': {0}", num); Console.ReadLine(); } public static void Display(out int a) { //need to assign value a = 10; a += a; } } }
Ausgabe:
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { string str = "123456"; int num; //if ‘canParse’ is true; the result of conversion will be stored in ‘num’ bool canParse = Int32.TryParse(str, out num); if (canParse) Console.WriteLine(num); else Console.WriteLine("Could not be parsed."); Console.ReadLine(); } } }
Ausgabe:
Im Folgenden finden Sie Beispiele für C#-Out-Parameter:
Beispiel zeigt, wie mehrere „Out“-Parameter an eine Methode übergeben werden und die Methode dann mehrere Werte zurückgibt.
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //declaring variables without assigning values float area, perimeter; //passing multiple variables to a method using 'out' keyword Calculate(5, 10, out area, out perimeter); //displaying the result Console.WriteLine("The area of rectangle is: {0}", area); Console.WriteLine("The perimeter of rectangle is: {0}", perimeter); Console.ReadLine(); } //method taking length & breadth & it will return area and perimeter of rectangle public static void Calculate(int length, int breadth, out float area, out float perimeter) { area = length * breadth; perimeter = 2 * (length + breadth); } } }
Ausgabe:
Beispiel, das die Inline-Deklaration des „out“-Parameters zeigt.
Code:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //in-line declaration of variables without assigning values Calculate(out int length, out int breadth, out float area); //displaying the values of length, breadth, and area Console.WriteLine("Length of rectangle: " + length); Console.WriteLine("Breadth of rectangle: " + breadth); Console.WriteLine("Area of rectangle: " + area); Console.ReadLine(); } //method taking 'out' parameters and it returns multiple values public static void Calculate(out int l, out int b, out float a) { l = 30; b = 40; a = l * b; } } }
Ausgabe:
Der Parameter „out“ in C# ermöglicht es Benutzern, Argumente durch Verweis auf eine Methode zu übergeben. Die als „out“-Parameter verwendete Variable muss nicht initialisiert werden, bevor sie an eine Methode übergeben wird. Die aufgerufene Methode sollte dem Out-Parameter einen Wert zuweisen, bevor sie einen Wert zurückgibt.
Das obige ist der detaillierte Inhalt vonC#-Out-Parameter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!