簡介 在C#中可以使用out關鍵字,指定所給的參數是一個輸出參數。out關鍵字的使用方式與ref關鍵字相同,都是在函數定義和函數調用中用作參數的修飾符。 一個使用out關鍵字的例子 internal class Program { static void Main(string[] args) { ...
簡介
在C#中可以使用out關鍵字,指定所給的參數是一個輸出參數。out關鍵字的使用方式與ref關鍵字相同,都是在函數定義和函數調用中用作參數的修飾符。
一個使用out關鍵字的例子
internal class Program
{
static void Main(string[] args)
{
int[] arr = { 2, 4, 6, 8, 10, 13 };
int max,min;
double average;
average = CalculateAverage(arr, out max, out min);
Console.WriteLine($"The Max is {max}");
Console.WriteLine($"The Min is {min}");
Console.WriteLine($"The Average is {average}");
}
static double CalculateAverage(int[] arr, out int maxVal, out int minVal)
{
maxVal = arr[0];
minVal = arr[0];
double sum = 0;
double average = 0;
for(int i = 0;i < arr.Length;i ++)
{
sum += arr[i];
if (arr[i] > maxVal)
{
maxVal = arr[i];
}
if (arr[i] < minVal)
{
minVal = arr[i];
}
}
average = sum / arr.Length;
return average;
}
}
運行結果,如下圖所示:
實際上,out的執行方式與引用參數幾乎完全一樣,因為在函數執行完畢後,該參數的值將返回給函數調用中使用的變數。
但是二者還是存在一些重要的區別:
1、把未賦值的變數用作ref參數是非法的,但可以把未賦值的變數用作out參數。
2、在使用out參數時,必須把它看成尚未賦值。
參考書籍
《C#入門經典(第7版)》——Benjamin Perkins、Jacob Vibe Hammer、Jon D. Reid