Consideraciones al usar condiciones en C#

Una forma efectiva de utilizar condiciones if es aprovechando una característica del lenguaje c# como la evaluación en corto circuito ya que permite ahorrar ciclos de reloj evitando ejecutar instrucciones de más innecesariamente.

Un ejemplo sencillo sería como este:

Si la variable users no tiene elementos, de una vez result es falso, la segunda condición no necesita ser evaluada.

El orden es importante a la hora de evaluar condiciones, la idea es siempre preguntar primero por lo más general hasta ir a lo más específico o poco común para no perder tiempo de ejecución. Para hacerlo de la mejor manera se debe conocer las reglas del negocio.

Un caso sería por ejemplo que se tenga una colección de horarios de citas médicas y se quiere saber cual es la siguiente cita disponible dada una hora, lo primero sería preguntar si la fecha del horario evaluado es mayor a la fecha actual, de no cumplirse no tiene sentido continuar verificando las otras condiciones por lo que se regresaría falso de una vez, sería un caso muy común. Luego se verificaría si es exactamente el mismo horario (hora y minuto), igual de no cumplirse se regresaría falso de una vez. Por último se revisan casos no muy frecuentes como si no hubiera citas ese día (tal vez por ser feriado).

El código estaría ordenado algo así:

Otro caso interesante sería cuando se desea buscar algo en varias colecciones, si se encuentra en una de ellas retornarlo de una vez para evitar recorrer el resto de colecciones. Es importante iniciar por la colección que contenga más elementos.

Por ejemplo, teniendo registros de venta de autos, si la marca más vendida es toyota y luego le sigue volkswagen, y se desea buscar el propietario de uno de los vehículos por su id entonces se recorrería los carros de esas marcas primero.

El código se vería algo así: