I have worked on Java and new to .Net technology
Is it possible to declare a function in C# which accepts variable input parameters
Is there any C# syntax simila
Yes, C# has an equivalent of varargs parameters. They're called parameter arrays, and introduced with the params
modifier:
public void Foo(int x, params string[] values)
Then call it with:
Foo(10, "hello", "there");
Just as with Java, it's only the last parameter which can vary like this. Note that (as with Java) a parameter of params object[] objects
can easily cause confusion, as you need to remember whether a single argument of type object[]
is meant to be wrapped again or not. Likewise for any nullable type, you need to remember whether a single argument of null
will be treated as an array reference or a single array element. (I think the compiler only creates the array if it has to, but I tend to write code which avoids me having to remember that.)