我試圖做到這一點:2 PARAMS在C#編譯不
public void CustomMethod(params int[] number,params string[] names)
{
...
}
如果我刪除其中的一個,有沒有問題,爲什麼我不能做到這一點任何想法?
我試圖把一個正常的parametre在兩者中間。只有
我試圖做到這一點:2 PARAMS在C#編譯不
public void CustomMethod(params int[] number,params string[] names)
{
...
}
如果我刪除其中的一個,有沒有問題,爲什麼我不能做到這一點任何想法?
我試圖把一個正常的parametre在兩者中間。只有
的最後一個參數可以有params
。請參閱documentation。
無附加參數在方法聲明的params關鍵字之後是允許的,並且僅一個params關鍵字在方法聲明是允許的。
的原因是,允許多個PARAMS會給模棱兩可。例如,這是什麼意思?
public void CustomMethod(params int[] foo, params int[] bar)
{
...
}
// ...
CustomMethod(1, 2);
這根本不被支持。編譯器無法知道一個參數列表何時結束,下一個開始。
據我所知,你只能在這應是在構造函數的最後一個參數構造函數寫一個PARAMS參數。
的params關鍵字可以指定需要一個參數,其中參數的數目是可變的方法的參數。
無附加參數在方法聲明的params關鍵字之後是允許的,並且僅一個params關鍵字在方法聲明是允許的。
在這裏看到:http://msdn.microsoft.com/en-us/library/w5zay9db(v=VS.71).aspx
我明白了,謝謝你快速解決所有。 – 2012-03-21 09:45:24