Parámetros opcionales en C#
Un manejo bastante fácil de parámetros opcionales en C# es usando la palabra reservada params, así:
public string concatena(params string[] cadenas)
{
string sResult = "";
foreach (string str in cadenas)
{
sResult = sResult + str + " ";
}
return sResult;
}
Y se usaría tan sencillo como esto:
Label1.Text = concatena("uno");Label1.Text = concatena("primero", "segundo", "tercero");
Sin embargo, se debe tomar en cuenta que esto limita el Intellisense en el proyecto, ya que no se tiene idea de los parámetros que se están pasando a la función. La recomendación políticamente correcta (en términos de POO al menos), es usar funciones con parámetros sobrecargados según se necesiten. Por ejemplo:
static string concatena(string str)
{
return str;
}
static string concatena(string str1, string str2)
{
return str1 + " " + str2;
}
static string concatena(string str1, string str2, string str3)
{
return str1 + " " + str2 + " " + str3;
}
Aunque, claro está, en ejemplos tan sencillos como este nos veremos tentados a usar params, es bueno tomar en cuenta alternativas propias del lenguaje. Cuando escalemos implementaciones, nos agradeceremos a nosotros mismos seguir las reglas del juego apropiadamente.
Más info:
Using Params Keyword
Optional Parameters
How to read optional parameters