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?

¿Fue útil?

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
scroll top