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;
        }
原文地址:https://www.cnblogs.com/huangxuQaQ/p/10731481.html