大家谈谈创建和使用不定数目参数的函数

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:40:37

象 C 和 C++ 这样的语言提供了很多手段用于创建和使用一个接受不定数目参数的函数,最典型的例子就是 printf()函数:

int printf(char *format, …); //省略号表示参数数目不定

使用这个函数十分的简单:

printf(“Hello, world\n“);
printf(“The sum of %d and %d is %d\n“, a, b, a+b);

不过,使用这些语言创建这样的函数必须依赖于一系列预先定义的宏,而且往往并不具有直观性和优雅性。
通过运用参数数组,C#提供了一种解决这个问题的优雅的解决方案。参数数组是一个一维数组,它作为方法的最后一个参数出现在参数列表中:

public string Concat(string separator, params string[] strings)
{
string result = ““;
for (int i = 0; i 〈 strings.Length; i++)
{
if (i 〉 0)
result += separator;
result += strings[i];
}
return result;
}

上面的方法用于将一些字符串连接成一个字符串,这个方法可以以下面两种不同的方式调用:

1) 使用数组实例作为参数传递给方法:
string[] names = { “Anders“, “Eric“, “Scott“, “Duncan“ };
MessageBox.Show(Concat(“+“, names) + “ = great team“);

2)使用0个或多个类型相容的参数传递给方法:

MessageBox.Show