なんとid:atsushieno:20081118:p1でも言及されるとは。ブックマークも私の日記では初めて10人もいきました。びっくりしてます。monoではどうなんでしょうと言ってみる。.NET Framework 4.0でデフォルトが変わったというのは注意点ですね。私も現在のカルチャを見るよりは序数での照合を既定にしたほうが経験の少ないプログラマ向けにもいいんじゃないかなと思います。
石坂さんが嘆いておられたので、VS 2010CTPでこんなコードを書いてみました。
string check = string.Empty; int collect = 0; CultureInfo cu = CultureInfo.GetCultureInfo("ja-JP"); for(char target = '\u4e00';target <= '\u9fa5';target++) { check = string.Format("{0}々,1234", target); if(cu.CompareInfo.IndexOf(check, ",") != 2) { collect++; } } Console.WriteLine("{0} missed.", collect);
User LocaleはJapaneseです。エディタをMS Gothicにしていたのに、「々」を入力するとVS2010がクラッシュして泣きました。二回目はOKだったけど。それはともかく、このプログラムを実行したとき、collectの値は0でした。