函数中out参数的应用
生活随笔
收集整理的這篇文章主要介紹了
函数中out参数的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數中out參數的應用
1.out參數使用情況說明
如果你在一個方法中,返回多個相同類型的值的時候,可以考慮返回一個數組; 但是,如果返回多個不同類型的值的時候,返回數組就不行了,那么這個時候,我們可以考慮使用out參數; out參數側重于在一個方法中可以返回多個不同類型的值(當然也可以返回多個相同類型的值)。2.out參數應用
2.1 示例1
寫一個方法,求一個整數數組中的最大值、最小值、總和、平均值。
(1)因為這些返回值類型相同,所以第一種思路就是將這些返回值放到整數數組中。
(2)第二種運用out參數
/// <summary>/// 計算一個整數數組的最大值、最小值、平均值、總和/// </summary>/// <param name="nums">要求值的數組</param>/// <param name="max">多余返回的最大值</param>/// <param name="min">多余返回的最小值</param>/// <param name="sum">多余返回的總和</param>/// <param name="average">多余返回的平均值</param>public static void Test(int[] nums, out int max, out int min, out int sum, out int average){//注意點://out參數要求在方法的內部必須為其賦值max = nums[0];//最min = nums[0];//最sum = 0;//總和for (int i = 0; i < nums.Length; i++){if (max < nums[i]){max = nums[i];}if (min > nums[i]){min = nums[i];}sum += nums[i];}average = sum / nums.Length;}上面返回的都是同一種變量類型,我們可以改一下上述方法,讓它返回不同類型的變量:
public static void Test(int[] nums, out int max, out int min, out int sum, out int average,out bool flag,out string name,out double d){//注意點://out參數要求在方法的內部必須為其賦值max = nums[0];//最min = nums[0];//最sum = 0;//總和for (int i = 0; i < nums.Length; i++){if (max < nums[i]){max = nums[i];}if (min > nums[i]){min = nums[i];}sum += nums[i];}average = sum / nums.Length;flag = false;name = "zhangsan";d = 3.14;}(3).調用函數:static void Main(string[] args){//寫一個方法,求一個數組中的最大值、最小值、總和、平均值int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };//int[] a = Program.GetMaxMinSumAvg(numbers);//Console.WriteLine("最大值是{0},最小值是{1},總和是{2},平均值是{3}", a[0], a[1], a[2], a[3]);//Console.ReadKey();int max1;//變量是先聲明后賦值再使用,這里沒賦值是因為函數中給了值int min1;int sum1;int avg1;//bool flag1;//string name1;//double data;//Program.Test(numbers,out max1,out min1,out sum1,out avg1,out flag1,out name1,out data );//Console.WriteLine("最大值是{0},最小值是{1},總和是{2},平均值是{3}", max1, min1, sum1, avg1);// Console.WriteLine(flag1);//Console.WriteLine(name1);//Console.WriteLine(data);Program.Test(numbers,out max1,out min1,out sum1,out avg1);Console.WriteLine("最大值是{0},最小值是{1},總和是{2},平均值是{3}", max1, min1, sum1, avg1);Console.ReadKey();}2.2 示例2
分別提示用戶輸入用戶名和密碼;方法判斷用戶輸入是否正確;
返回用戶一個登錄結果,以及單獨返回給用戶一個登錄信息;
例如:用戶名錯誤,除了返回登陸結果之外,還要返回一個“用戶名錯誤”。
2.3 示例3
寫一個方法實現int.TryParse()函數的功能
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace out參數練習_0110 {internal class Program{static void Main(string[] args){int num;bool flag = int.TryParse("123", out num);int num1;bool flag1 = Run("21", out num1);}public static bool Run(string s, out int result){result = 0;try{result = Convert.ToInt32(s);return true;}catch (Exception){return false;}}} }3.總結
1.out參數側重于在一個方法中可以返回多個不同類型的值(當然也可以返回多個相同類型的值); 2.當你寫方法的過程中,out參數一定要在方法的內部為其賦值;public static void Test(int[] nums, out int max, out int min, out int sum, out int average){//注意點://out參數要求在方法的內部必須為其賦值max = nums[0];//最min = nums[0];//最sum = 0;//總和average=0} 3. 你寫的這個方法可以有void,也可以沒有void, 沒有void,我們可以把要返回的值放在out參數中:因為out參數就是多余返回的值 ; 4.調用時,要先聲明out 參數變量,可以不用先賦值,因為再調用的過程中我們肯定會為其賦值;int max1;//變量是先聲明后賦值再使用,這里沒賦值是因為函數中給了值int min1;int sum1;int avg1;Program.Test(numbers,out max1,out min1,out sum1,out avg1);總結
以上是生活随笔為你收集整理的函数中out参数的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用LABVIEW的python接口调用
- 下一篇: 1-0 51单片机keil5的使用和程序