C#学习笔记二(函数高级参数)
生活随笔
收集整理的這篇文章主要介紹了
C#学习笔记二(函数高级参数)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.Out參數(shù)
作用:使用Out參數(shù)主要是用于返回多個變量
示例:
1 int[] b = { 1, 2, 3, 4, 5 }; //有一個數(shù)組 2 int max; //用來接收返回的最大值 3 int min; //用來接收返回的最小值 4 int sum; 5 int avg; 6 OutTest(b,out max,out min,out sum,out avg); 7 Console.WriteLine("最大:{0},最小:{1},總和:{2},平均:{3}",max,min,sum,avg); 1 public static void OutTest(int[] a, out int max, out int min, out int sum, out int avg) 2 { 3 //使用OUT參數(shù)要注意,每個OUT參數(shù)都必須賦值才能使用,因為當沒有給OUT參數(shù)賦值的時候,就不知道要返回什么數(shù)值了 4 max = a[0]; 5 min = a[0]; 6 sum = 0; 7 avg = 0; 8 for (int i = 0; i < a.Length; i++) 9 { 10 if (max < a[i]) 11 { 12 max = a[i]; //重新賦值最大值 13 } 14 else if (min > a[i]) 15 { 16 min = a[i]; //重新賦值最小值 17 } 18 19 sum += a[i]; //計算總和 20 } 21 //計算平均值 22 avg = sum / a.Length; 23 24 }注意:使用OUT參數(shù)要注意,每個OUT參數(shù)都必須賦值才能使用,因為當沒有給OUT參數(shù)賦值的時候,就不知道要返回什么數(shù)值了,并且使用的時候也要加上Out關鍵字
2.Ref參數(shù)
作用:作為傳地址類型的,會修改傳入的變量的值。
示例:
1 int a1 = 0; 2 int b1 = 0; 3 RefTest(ref a1, ref b1); //傳入的參數(shù)必須要先賦值才能傳遞 4 Console.WriteLine("a1={0},b1={1}",a1,b1); 5 public static void RefTest(ref int a,ref int b) 6 { 7 a = 100; 8 b = 200; 9 }注意:傳入的參數(shù)之前必須要先賦值才能傳遞,注意,但是如果使用數(shù)組傳遞的話,可以不適用ref,方法外的變量也會發(fā)生變化。
例如:
int[] b = { 4, 5, 6, 7, 8, 9 };Console.WriteLine("反轉(zhuǎn)前:");for (int i = 0; i < b.Length; i++){Console.WriteLine(b[i]);}Console.WriteLine("反轉(zhuǎn)后:"); //這里并沒有使用ref參數(shù),但是也改變了函數(shù)外部的數(shù)組b,這里數(shù)組是一個特例!FanZhuan(b);for (int i = 0; i < b.Length; i++){Console.WriteLine(b[i]);} public static void FanZhuan(int[] a){int temp;for (int i = 0; i < a.Length / 2; i++){temp = a[i];a[i] = a[a.Length - 1 - i];a[a.Length - 1 - i] = temp;}}?
?
?
3.params參數(shù)
作用:可變參數(shù),可以輸入多個參數(shù),數(shù)量可以靈活變化
示例:
1 string name = "老王"; 2 ParamsTest(name, 96, 95, 68); //這里使用了params參數(shù),后面的幾個參數(shù)表示的是可以輸入對應函數(shù)的相應參數(shù)數(shù)組的類型的數(shù)據(jù),個數(shù)不限 3 4 /// <summary> 5 /// params參數(shù)使用范例 6 /// </summary> 7 /// <param name="name">傳遞一個姓名</param> 8 /// <param name="score">這里表示可以接受多個數(shù)組類型的數(shù)值</param> 9 /// params作用是將接受到的數(shù)值自動轉(zhuǎn)換為參數(shù)的數(shù)組元素 10 /// params可變參數(shù)必須是最后一個參數(shù),不能放在中間 11 public static void ParamsTest(string name, params int[] score) 12 { 13 int sum=0; 14 for(int i=0;i<score.Length;i++) 15 { 16 sum += score[i]; 17 } 18 Console.WriteLine("{0}的總成績?yōu)?#xff1a;{1};",name,sum); 19 } 20 }?
注意:使用params參數(shù)注意兩點,可變的參數(shù)類型必須和方法中數(shù)組的參數(shù)類型相同,并且必須放在最后一個!
?
轉(zhuǎn)載于:https://www.cnblogs.com/1994crazyboy/p/4601233.html
總結
以上是生活随笔為你收集整理的C#学习笔记二(函数高级参数)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络之数据链路层:10、CSMA协
- 下一篇: AVL Insertion(浙大pta)