Argumentos de método anulables en C # [duplicado]
Pregunta
Pregunta duplicada
Pasar argumentos nulos a métodos C #
¿Puedo hacer esto en c # para .Net 2.0?
public void myMethod(string astring, int? anint)
{
//some code in which I may have an int to work with
//or I may not...
}
Si no, ¿hay algo similar que pueda hacer?
Solución
Sí, suponiendo que agregaste los galones deliberadamente y realmente quisiste decir:
public void myMethod(string astring, int? anint)
anint
ahora tendrá una propiedad HasValue
.
Otros consejos
Depende de lo que quieras lograr. Si desea poder soltar el parámetro anint
, debe crear una sobrecarga:
public void myMethod(string astring, int anint)
{
}
public void myMethod(string astring)
{
myMethod(astring, 0); // or some other default value for anint
}
Ahora puedes hacer:
myMethod("boo"); // equivalent to myMethod("boo", 0);
myMethod("boo", 12);
Si quieres pasar un int anulable, bueno, mira las otras respuestas. ;)
En C # 2.0 puedes hacer;
public void myMethod(string astring, int? anint)
{
//some code in which I may have an int to work with
//or I may not...
}
Y llame al método como
myMethod("Hello", 3);
myMethod("Hello", null);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow