#585 – Optional Parameters Must Come Last
May 17, 2012 Leave a comment
If you define a method that includes optional parameters, they must come after any required parameters. This means that your options for required vs. optional parameters are:
- No parameters at all
- 1 or more required parameters (no default values)
- 1 or more optional parameters (with default values)
- 1 or more required parameters, followed by 1 or more optional parameters
static void NoParams() { } static void RequiredOnly(int x, int y) { } static void OptionalOnly(int x = 5, int y = 10) { } static void RequiredAndOptional(int x, int y, int a = 1, int b = 2) { } static void Main() { NoParams(); RequiredOnly(5, 10); OptionalOnly(); OptionalOnly(1); OptionalOnly(1, 2); RequiredAndOptional(1, 1); RequiredAndOptional(1, 2, 3); RequiredAndOptional(1, 2, 3, 4); }