params可变参数
1、实例-求一个人的总成绩
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace params可变参数 { class Program { static void Main(string[] args) { int[] s={23,13,15}; Test("张三",s); 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); } } }
运行结果:
2、使用params可变参数-求一个人总成绩
将实参列表中跟可变参数数组类型一致的元素都当做数组的元素来进行处理。
形参定义为params数组时,实参列表中可以传类型一致的元素或者数组名。
(1)传入元素
代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace params可变参数 { class Program { static void Main(string[] args) { Test("张三", 23, 13, 15,66); //传入元素 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); } } }
运行结果
(2)传入数组名
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace params可变参数
{
class Program
{
static void Main(string[] args)
{
int[] s={23, 13, 15,66};
Test("张三",s ); //传入数组名
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);
}
}
}
运行结果
3、求任意长度数组元素的总和
代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace params可变参数 { class Program { static void Main(string[] args) { //求任意长度数组元素的总和 //int[] s={12, 23, 14, 2, 3)}; //int sum = GetSum(s); int sum=GetSum(12,23,14,2,3); Console.WriteLine("总数是:{0}", sum); Console.ReadKey(); } public static int GetSum(params int[] n) //可变参数数组 { int sum = 0; for (int i = 0; i < n.Length;i++ ) { sum += n[i]; } return sum; } } }
运行结果