函数
11、使用参数数组
2static int SumVals(params int[] vals)
3{
4 int sum=0;
5 foreach (int val in vals)
6 {
7 sum +=val;
8 }
9 return sum;
10}
11
12static void Main(string[] args)
13{
14 int sum=SumVals(1,5,2,9,8);
15 Console.WriteLine("Summed Values={0}",sum);
16 Console.Readkey();
17}
18
19
202、引用参数和值参数
21
22static int Double(ref int val)
23{
24 val *=2;
25 return val;
26}
27
28int val=0;
29int DoubleVal=Double(ref val);
30
31使用ref参数的变量有两个限制:
321、不能是常量 const int val;
332、必须使用初始化过的变量 int val;
34
35输出参数out与ref的区别
361、未赋值的变量作为ref的参数是非法的,但可作为out的参数
372、使用out参数时,该参数必须在函数中赋值,调用代码的变量值会更新;
38 int[] myArray={1,8,3,6,2,5,9,3,0,2};
39 int maxIndex;
40 Console.WriteLine(MaxValue(myArray,out maxIndex));
41 Console.WriteLine(maxIndex);
42
43 Console.ReadKey();
44
45 private static int MaxValue(int[] intArray, out int maxIndex)
46 {
47 int maxVal = intArray[0];
48 maxIndex = 0;
49 for (int i = 1; i < intArray.Length; i++)
50 {
51 if (intArray[i] > maxVal)
52 {
53 maxVal = intArray[i];
54 maxIndex = i + 1;
55 }
56 }
57 return maxVal;
58 }
2static int SumVals(params int[] vals)
3{
4 int sum=0;
5 foreach (int val in vals)
6 {
7 sum +=val;
8 }
9 return sum;
10}
11
12static void Main(string[] args)
13{
14 int sum=SumVals(1,5,2,9,8);
15 Console.WriteLine("Summed Values={0}",sum);
16 Console.Readkey();
17}
18
19
202、引用参数和值参数
21
22static int Double(ref int val)
23{
24 val *=2;
25 return val;
26}
27
28int val=0;
29int DoubleVal=Double(ref val);
30
31使用ref参数的变量有两个限制:
321、不能是常量 const int val;
332、必须使用初始化过的变量 int val;
34
35输出参数out与ref的区别
361、未赋值的变量作为ref的参数是非法的,但可作为out的参数
372、使用out参数时,该参数必须在函数中赋值,调用代码的变量值会更新;
38 int[] myArray={1,8,3,6,2,5,9,3,0,2};
39 int maxIndex;
40 Console.WriteLine(MaxValue(myArray,out maxIndex));
41 Console.WriteLine(maxIndex);
42
43 Console.ReadKey();
44
45 private static int MaxValue(int[] intArray, out int maxIndex)
46 {
47 int maxVal = intArray[0];
48 maxIndex = 0;
49 for (int i = 1; i < intArray.Length; i++)
50 {
51 if (intArray[i] > maxVal)
52 {
53 maxVal = intArray[i];
54 maxIndex = i + 1;
55 }
56 }
57 return maxVal;
58 }