スポンサーリンク

I18N : また照合順序か(続)

OPC Diary: I18N : また照合順序か

フィードバックのコメントでNyaRuRuさんが内部的にはNLS APIを呼び出しているだけという事がわかりました。やっぱりWindowsの文字の重み付けがおかしいです。ありがとうございました。

で、終わるかと思ったのですが、Visual Studio 2010 CTP環境(Visual Studio 2010 Version 10.0.11001.1 CTP2VPC)で、Console.WriteLine("{0}", "愛々,1,2,3".IndexOf(","))を実行すると2が返ってきます。。

検証時の設定ロケールは以下の通り。

User Locale : Japanese
System Locale : English / US

うーーーーん。。.NET FX 4.0で実装変わったのか、Windows 2008でNLSの文字の重み付けが違うのか検証しないと行けなくなってきた。。

とりあえず時間切れ。

コメント

  1. Kei1Japan より:

    こんにちわ。いつも拝見してます。
    .NET FX 4.0 の件は、これと関係ありますか?
    「Breaking changes to the String class」

    http://davesbox.com/archive/2008/11/12/breaking-changes-to-the-string-class.aspx


    Console.WriteLine(“{0}”, “愛々,1,2,3”.IndexOf(“,”, StringComparison.Ordinal));
    だと、2が返ってきますので。

  2. 管理人 より:

    コメント見る前にものがたりさん記事から4.0での変更を知って続編記事を書いてしまった。
    書いた内容は。。まぁ愚痴です。

タイトルとURLをコピーしました