用params修饰符的参数称为数组参数,允许方法传递个数变化的参数。在方法的参数列表中只允许出现一个参数数组,且参数数组必须放在整个参数列表的最后,同时参数数组不允许是多维数组。例如,string[]类型和string[][]类型都可以作为数组型参数,而string[,]则不能。此外,不能将params修饰符与ref修饰符和out 修饰符组合起来使用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class MyClass
{
public static void GetSumAveFromArray(out int sum,out int aver,params int [] a){
sum=aver=0;
for(int i=0;i<a.Length;i++)sum+=a[i];
aver = sum / a.Length;
}
}
class Program
{
static void Main(string[] args)
{
int[] a = { 12, 70, 18 };
int sum, aver;
MyClass.GetSumAveFromArray(out sum,out aver,23,7,8,19);
Console.WriteLine("整数和:{0},整数平均:{1}",sum,aver);
MyClass.GetSumAveFromArray(out sum ,out aver,a);
Console.WriteLine("整数和:{0},整数平均:{1}", sum, aver);
Console.ReadLine();
}
}
}
实例中给出了两种方式:直接给出几个常数、一个已存在的数组,注意数组参数调用。