Named and optional parameters são duas features distintas,
mas são muito úteis se utilizadas juntas.
Parâmetros nomeados permitem que você associe um argumento
com o nome do parâmetro, e não com a posição na lista de parâmetros.
Parâmetros opcionais permitem que possam omitir argumentos
na invocação de métodos.
Algumas API’s, principalmente com as interfaces COM, como as
API’s de automatização do Office, são escritos especificamente como o nome e
parâmetros opcionais, essas API’s podem ter até 30 parâmetros.
Ambas as técnicas podem usar com métodos, indexadores,
construtores e delegates.
Parâmetros
nomeados
No C# 4, não é possível omitir argumentos com vírgulas como
“Metodo(1,,2)”, ao invés disso você passa o valor com seu nome.
Ex.
static int Somar(int x, int y)
{
return x + y;
}
Somar(1, y: 2);
or
Somar(x: 1, y: 2);
or
Somar(1, 2);
Parâmetros
Opcionais
Todo o parâmetro opcional tem um valor default para ele, e
eles precisam esta sempre no final.
static int Somar(int x, int y=2)
{
return x + y;
}
Or
static int Somar(int x=1, int y=2)
{
return x + y;
}
Somar(x:1);
Não
se pode colocar um parâmetro opcional na frente de um parâmetro não opcional.
static int Somar(int x=2, int y)
{
return x + y;
}
Quando
não é passado seu argumento, o mesmo assume seu valor default.
http://www.nandosilva.com