ネタ元:おぎわら@.NET道場 Blog(わんくま編)
String.IsNullOrEmptyにバグがあるそうです。 詳しい内容はこちら。
要は、String.IsNullOrEmptyを利用して、最適化をON(デフォルトはOnになっている)、exeを作成して実行するとアプリケーションがクラッシュするという内容です。
やや、マジっすか!!!
ちょっとやってみる・・・。
こんなソース。
using System;
namespace WankumaTest.NullOrEmpty {
class Program {
static void Main(string[] args) {
string temp = null;
if(string.IsNullOrEmpty(temp)) Console.WriteLine("成功ですよ");
Console.ReadLine();
}
}
}
あれ?動いてますが・・・・ 何か見落としている!?
で、おぎわらさんが提示してくれたソースを実行して見ると・・・・。 あ!確かに落ちる!!
staticなメソッドの中でやると再現するのかしら・・・?
それともString.IsNullOrEmptyを繰り返し使うと再現するのかな?
うーん。