c#基础知识——函数参数数组
参数数组:
c#允许为函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后一个参数,称为参数数组。参数数组可以使用个数不定的参数调用函数,可以使用params关键字定义它们。
参数数组可以简化代码,因为不必从调用代码中传递数组,而是传递同类型的几个参数,这些参数可以放在可在函数中使用的一个数组中。
定义使用参数数组的函数时,需要使用下列代码:
static<returnType><FunctionName>(<plType><plName>,...,params<type>[]<name>)
{
...
return<returnValue>;
}
使用下列代码可以调用函数。
<functionName>{<p1>,...,<val1>,<val2>,...}
其中<val1><val2>等都是<type>类型的值,用于初始化<name>数组。可以指定的参数个数几乎不受限制。唯一的限制是它们都必须是<type>类型。甚至可以根本不指定参数。
这一点使参数数组特别适合于为在处理过程中要使用的函数指定其他信息。例如,假定有一个函数GetWord().它的第一个参数是一个string值,并返回字符串中的第一个单词。
string firsWord=GetWord{"This is a sentence."};
其中firstWord被赋予字符串This。
可在GetWord()中添加一个params参数,以根据其索引选择另一个要返回的单词:
string firstWord=GetWord{"This is a sentence.",2};
假定第一个单词计数为1,则firstWord就被赋予字符串is。
也可以在第3个参数中限制返回的字符个数,同样通过params参数来实现:
string firstWord=GetWord{"This is a sentence.",4,3};
此时firstWord被赋予字符串sen。
class Program
{
static int SumVals(params int[] vals)
{
int sum = 0;
foreach (int val in vals)
{
sum += val;
}
return sum;
}
static void Main(string[] args)
{
int sum = SumVals(1,5,2,9,8); //可以输入任意个参数,但参数类型必须相同
Console.WriteLine("Summed Values={0}",sum);
Console.ReadKey();
}
}