Este método estático de la clase string en C# 2 es sumamente útil, ya que ahorra el trabajo de la verificación de valores nulos al querer saber si un string está vacío. Sin embargo, hay un bug localizado muy específico:
En una aplicación de consola, compilada en modo release, ejecutándose en un ambiente producción (fuera del IDE de Visual Studio) y usada dentro de algún ciclo como for o while, se genera la siguiente excepción del JIT:
Null Exemption caused by JIt optimisation around String.IsNullOrEmpty
Así, un código tan simple como este dejará de funcionar:
-
for (int j = 0; j <10; j++)
-
11 {
-
12 if (String.IsNullOrEmpty(x))
-
13 {
-
14 //TODO:
-
15 }
-
16 }
Todo el detalle específico del bug incluyendo workarounds disponibles en:
Si bien es un caso muy específico, siempre es bueno saberlo para que no pasar horas buscando algún error cometido por nosotros mismos.

Sorry you must register to comments in this post