c#---params参数
写一个方法,求一个同学的总成绩
static void Main(string[] args) { int[] n = { 99, 88, 77 }; Test("张三", n); Console.ReadKey(); } public static void Test(string name, int[] score) { int sum = 0; for (int i = 0; i < score.Length; i++) { sum += score[i]; } Console.WriteLine("{0}同学考试总成绩为{1}分", name, sum); }
不声明数组说明成绩,直接在方法中写成绩,怎么办?
params参数:实参与形参无需保持一致,但是类型要相同,就是你调用方法的时候,里面的参数不用按照封装的那个方法写
注意事项:
params参数必须是形参列表中的最后一位元素
static void Main(string[] args) { Test("张三", 100, 100, 100); Console.ReadKey(); } public static void Test(string name, params int[] score) { int sum = 0; for (int i = 0; i < score.Length; i++) { sum += score[i]; } Console.WriteLine("{0}同学考试总成绩为{1}分", name, sum); }
params参数求任意长度int类型数组总和示例
static void Main(string[] args) { int sum = Program.GetSum(7, 8); Console.WriteLine(sum); Console.ReadKey(); } public static int GetSum(params int[] numbers) { int sum = 0; for (int i = 0; i < numbers.Length; i++) { sum += numbers[i]; } return sum; }