c#中可变参数用关键字params
Code
public class App {
static void Main() {
//常规使用方法
Console.WriteLine( Add( new Int32[] { 1, 2, 3, 4, 5 } ) );
//另一种调用方法
Console.WriteLine( Add( 1, 2, 3, 4, 5 ) );
//当然,参数数目是可变的,但其类型是被约束的
Console.WriteLine( Add( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ) );
//如果类型可变,数目可变怎么办?书给出的答案非常简单,就是使用object类型即可
//备注下下
}
/// <summary>
/// 使用了params关键字
/// </summary>
/// <param name="values">int[]</param>
/// <returns>int[]的和</returns>
static Int32 Add( params Int32[] values ) {
Int32 sum = 0;
for( int x = 0 ; x < values.Length ; x++ )
sum += values[ x ];
return sum;
java中用三个点 ...
1)、只能出现在参数列表的最后;
2)、...位于变量类型和变量名之间,前后有无空格都可以;
3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。
public class Varable {
public static void main(String [] args){
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x,int ...args){
int sum=x;
for(int i=0;i<args.length;i++){
sum+=args[i];
}
return sum;
}
}
原文:http://www.cnblogs.com/dandandeyoushangnan/p/4652696.html