out是C#中的關鍵字,用於將參數作為參考類型傳遞給方法。作為輸出參數傳遞給方法的變數在傳遞給方法呼叫之前不需要宣告或初始化。在控制項離開被呼叫方法之前以及被呼叫方法向呼叫方法傳回任何值之前,被呼叫方法需要為 out 參數的變數賦值。可以將多個輸出參數傳遞給一個方法,並且該方法傳回多個值。
文法及解釋:
使用 out 參數呼叫此方法時,語法如下:
Method_name(out data_type variable_name);
這裡,Method_name 是任何使用者定義的方法名稱,'out' 是關鍵字,用於表示傳遞給方法的變數是輸出參數,data_type 可以是變數的任何資料類型,variable_name 是使用者定義的變數名稱。
呼叫方法的語法如下:
access_specifier return_type Method_name(out data_type variable_name);
這裡,access_specifier 可以是 C# 支援的五個存取說明符中的任何存取說明符,例如 public 或 private。然後,return_type 是該方法傳回的資料類型,後面跟著方法名稱和「out」參數清單。
在 C# 中,「out」關鍵字的作用類似於「ref」和「in」關鍵字。 'out' 和'ref' 參數之間的區別在於,'out' 參數變數在傳遞給方法之前不需要初始化,使用者可以在方法的參數列表中聲明'out' 參數變數而不是單獨聲明它,這稱為“out”參數的內聯聲明,而“ref”參數變數需要在傳遞給方法之前初始化。可以在同一程式碼區塊中存取內聯聲明的“out”參數。
代碼:
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; } } }
輸出:
代碼:
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(); } } }
輸出:
以下是 C# 輸出參數的範例:
範例顯示將多個「out」參數傳遞給方法,然後該方法傳回多個值。
代碼:
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); } } }
輸出:
顯示「out」參數內嵌聲明的範例。
代碼:
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; } } }
輸出:
C# 中的「out」參數允許使用者透過引用方法來傳遞參數。用作“out”參數的變數在傳遞給方法之前不需要初始化。被呼叫的方法應該在傳回值之前為 out 參數賦值。
以上是C# 輸出參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!