Reader Level:

Optional and Named Arguments in C#

By Abhimanyu K Vatsa on May 31, 2011
In this quick article you will learn about Optional and Named Arguments in C#.


One of the new interesting features in Visual Studio 2010 is "Named and Optional" arguments. Practically, they are very useful together but both are quite different.

Optional Arguments

Optional Arguments enable us to omit arguments for some parameters. Any call must provide arguments for all required parameters but can omit arguments for optional parameters. The parameter which is omitted has default value as part of its definition. If no argument is sent for that the default value automatically will be used. Optional parameters are defined at the end of the parameter list after any required parameters.


In above example, we are not providing the value for the "width" parameter because it is optional. If you do provide the "width" parameter a value then it will override the default value. For example:


In the above example, the width value will be replaced by 6.

Named Arguments

Named Arguments enable us to specify an argument for a particular parameter by associating the argument with the parameter's name rather than with the parameter's position in the parameter list. It frees us from the need to remember or to look up the order of parameters in the parameter lists of called methods. The parameter for each argument can be specified by parameter name.


In the above example, if we replace the positional (non-named) arguments by named arguments then we will have no concern about the order of the arguments.


Abhimanyu K Vatsa
Abhimanyu K Vatsa

Microsoft MVP | Author | IT Faculty | Student of M.Tech. IT | Blogs at ITORIAN.COM

Personal Blog:



Custom Software Development
MCN is your source for developing solutions involving websites, mobile apps, cloud-computing, databases, BI, back-end services and processes and client-server applications.

Trending up