Todo el mundo sabe, al menos, dos # modismos común c, incluyendo el operador se unen:Común expresiones idiomáticas c incluyendo fusionarse ?? operador
un singleton uno:
return _staticField = _staticField ?? new SingletonConstructor();
y una cadena de uno:
notNullableResult = nullable1 ?? nullable2 ?? nullable3 ?? default(someType);
es legible, coherente, vale la pena utilizar y reconocible en el código.
Pero, desafortunadamente, esto es todo. Algunas veces necesitará expandirse o cambiarse. A veces los uso cuando veo un caso particular, y siempre dudo en usarlo porque no sé si algún otro programador realmente lo leerá fácil.
¿Conoces algún otro? Me encantaría tener usos más específicos: p. Asp.net, EF, LINQ, cualquier cosa, donde fusionarse no solo es aceptable sino notable.
Me parece que todos los usos del operador coalescente nula son sólo casos especiales de su " cadena uno ". –
todavía, todos los casos son más o menos especiales o generales. para mí, el arte de la programación es equilibrar y sentir la diferencia. coalesce es un caso especial de la declaración 'if', ¿no es así? y el interruptor - la caja es especial, ¿y qué? ¿eliminarlos? – rudnev
No es así como se implementa un singleton instanciado perezosamente. Incluso si acaba de dejar fuera un bloque 'lock' en aras de la brevedad en esta pregunta, solo sirve para ofuscar el código. – Aaronaught