2012-03-20 130 views
16

正如標題變量號說,我需要知道,如果有相應的語法,Java的...在方法的參數,如功能與參數

void printReport(String header, int... numbers) { //numbers represents varargs 
    System.out.println(header); 
    for (int num : numbers) { 
    System.out.println(num); 
    } 
} 

(維基百科的代碼提供)

+2

重複question.please閱讀此鏈接.http://stackoverflow.com/questions/910585/c-sharp-variable-length-args-which-is-better-and-why-arglist-params-array-o 或例如閱讀http://msdn.microsoft.com/en-us/library/ms182366(v=vs.80).aspx – 2012-03-20 10:06:39

+1

在您的鏈接 – Gabber 2012-03-20 12:25:08

回答

24

是你可以寫這樣的事情:

void PrintReport(string header, params int[] numbers) 
{ 
    Console.WriteLine(header); 
    foreach (int number in numbers) 
     Console.WriteLine(number); 
} 
+0

+1中找不到與java的並行。我修正了縮進。 – Tudor 2012-03-20 10:07:13

3

這應該是

void printReport(String header, params int[] numbers) 
3

我相信你的意思是params

public void printReport(string header, params int[] list) 
{ 
    Console.WriteLine(header); 

    for (int i = 0 ; i < list.Length; i++) 
    { 
     Console.WriteLine(list[i]); 
    } 
    Console.WriteLine(); 
} 
8

嘗試使用params關鍵字,放在聲明之前,如

myFunction(params int[] numbers); 
6

是的,有。正如Adriano所說,你可以使用C#的'params'關鍵字。 一個例子是在以下鏈接:

PARAMS(C#參考)

http://msdn.microsoft.com/en-us/library/w5zay9db.aspx

的params關鍵字可以指定採用可變數目的參數的方法參數

您可以發送參數聲明中指定類型的參數的逗號分隔列表,或者指定類型的參數數組,也可以不發送參數

方法聲明中的params關鍵字之後不允許有其他參數,並且方法聲明中只允許有一個params關鍵字。