May be I'm reading it in-correctly, but after reading the description of the params keyword and try it out. I do not see any value it add to the C# language. Here is the descriptions clipped from MSDN: The params keyword lets you specify a method parameter that takes an argument where the number of arguments is variable. No additional parameters are permitted after the params keyword in a method declaration, and only one params keyword is permitted in a method declaration.since parameter qualified with params are required to be a single dim array. But isn't an array by definition is variable in size? In my opinion the params keyword add nothing more to C# language except more typing. Please explain to me when one would use one form over another?void foo(params int[] vars){}void foo(int[] vars){}Thanks