Cuando programamos siempre tratatamos de escribir menos código no ? Pero a simple vista, que es más facil de entender:

if (_AppContext == null)
{
     _AppContext = new AppContext();
}

return _AppContext;

o esto:

return _AppContext = _AppContext ?? new AppContext();

Sean sinceros, dije a simple vista y mirandolo rápido !

El operador ?? está muy bueno, nos ahorra unas lineas de código, pero a mi manera de ver, el primer ejemplo a simple vista es mucho más facil de leer.

Tagged with:
 

7 Responses to Operador ?? en C#

  1. GLM says:

    Me parece que se puede abusar bastante de ese operador ??
    pero me parece que elegiste un mal ejemplo.

    Yo personalmente lo asocio a este operador con nullable types y ahi lucen mejor, por ejemplo:

    int? nullableNumero = 8;
    int numero = nullableNumero ?? 0;

    eso es codigo valido y tiene mas sentido que el que expusiste, ademas me parece ese mas facil de leer que:

    int numero;
    if (nullableNumero.HasValue)
    numero = nullableNumero.Value;
    else
    numero = 0;

    con otros tipos que no son nullables por ahi tambien es util, y hace las cosas mas simple, por ejemplo en ASP.NET si tenes que escribir algo podes aprovechar el y te ahorras el TIIIPICO inline-if

    Saludos!!

  2. GLM says:

    Arreglo porke me comio los y te ahorras el TIIIPICO inline-if

    Saludos y a ver si quedan

  3. GLM says:

    Arreglo porke me comio los

  4. GLM says:

    Arreglo porke me comio los <%:
    … podes aprovechar el < %= persona.Nombre ?? string.Empty % > y te ahorras el TIIIPICO inline-if < %= (persona.Nombre == null) ? “” : persona.Nombre % >

    Saludos y a ver si quedan

  5. GLM says:

    Por cierto, un problema de validacion del contenido …
    pero que tienen los blogs con el IE??? y los css con el IE? cualquier desarrollador web que se precie de tal deberia revisar el estilo que tiene las paginas, por lo menos en los 2 navegadores mas usados.. o IE ya no es el mas usado? *-) Despues avisame Dario y te paso un shot de como se ve esto en IE7… (y de paso vas acumulando excusas para volver a cambiar el blog)

  6. Guille, justamente, vos decis que se puede aprovechar bastante este operador, y yo no lo niego, en este ejemplo solamente (a mí parecer), me parece a simple vista, más entendible el primer código. Tampoco es que el de abajo no se entiende. Pero mirás el primero y es más que claro, para que veas…en mi código yo había elegido la opción más corta, pero no me gustó como quedaba, por que al pasar, tenés que detenerte un ratito y pensar en el operador, pensar en su función, y luego lo entendés, y aparte en la función que estaba no sumaba 10 lineas en total, entonces no tuve problemas de “alargar” un poquito la función en ganancia de legibilidad.

  7. GLM says:

    Vale, como dicen en espania, yo es que crei que hablabais en general

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>