C#中params关键字之后不允许存在任何其他参数。可以传入可变参数。
如下例:
static void UseParams(params int[] list) { string temp = ""; for (int i = 0; i < list.Length; i++) { temp = temp + " " + list[i].ToString(); } Console.WriteLine(temp); } static void UseParams2(params object[] list) { string temp = ""; for (int i = 0; i < list.Length; i++) { temp = temp + " " + list[i].ToString(); } Console.WriteLine(temp); } static void Main() { UseParams(1, 2, 3);//看参数是3个 UseParams(1, 2); //看参数是2个,可变吧 UseParams2(1, 'a', "test"); int[] myarray = new int[3] { 10, 11, 12 }; UseParams(myarray); //看也可以是容器类,可变吧:) Console.ReadKey(); }
下面是VB中的用法:
Public Class Test
Public Shared Sub add(ByVal ParamArray cc() As String)
For i As Integer = 0 To cc.Length - 1
Console.WriteLine(cc(i))
Next
End Sub
End Class
Test.add("A", "B", "C", "D", "E", "F")
输入变长字符串。