Microsoft introduced support for named and optional parameters in C# 4.0. While a named parameter is used to specify an argument based on the name of the argument and not the position, an optional ...
You get the arguments either in Main or through the Environment class if VB is being daft and hiding Main from you. Its an array of strings, you can parse it as you like and extract as many or as few ...