C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■103728 / )  Re[2]: 依存する
□投稿者/ 魔界の仮面弁士 (3853回)-(2025/06/09(Mon) 11:37:31)
No103727 (kiku さん) に返信
>>現在のところ、下記をいろいろと変更しているのですが、再現しない状態です。
>> ・Windowsの表示言語
>> ・国または地域
> どうやら下記に依存するようです。
>  時刻と言語 → 管理用の言語の設定 → システムロケール

システムロケールを変更せずに検証する場合は、意図的に現在のスレッドのカルチャを変更するという手もあります。
https://learn.microsoft.com/ja-jp/dotnet/fundamentals/runtime-libraries/system-globalization-cultureinfo-currentculture


もしもカルチャー非依存であることを求める場合、StringComparison 引数付きのオーバーロードを呼ぶ形に改修すべきでしょうね。
特にライブラリ開発者は、StringComparison.Ordinal あるいは (OrdinalIgnoreCase)を呼ぶことが
互換性およびパフォーマンスの点で望ましいとされるようです。

もし、StringComparison 引数無しの IndexOfメソッドが呼び出されたときには
 String を検索する場合は StringComparison.CurrentCulture 指定
 Char を検索する場合は StringComparison.Ordinal 指定
に相当する動作となります。
https://learn.microsoft.com/ja-jp/dotnet/standard/base-types/best-practices-strings#choosing-a-stringcomparison-member-for-your-method-call
https://note.dokeep.jp/post/csharp-globalization-icu/
返信 編集キー/


管理者用

- Child Tree -