JetBrains Rider 2024.1 ヘルプ

コード検査: 明示的に文字列を指定する

データ構造のテキストへのアドホック変換は、現在のカルチャに大きく依存しており、ロケールが元の開発者と異なるマシンでコードを実行すると、意図しない結果につながる可能性があります。あいまいさを防ぐため、JetBrains Rider は、このような問題が発生する可能性のあるコードのインスタンスを警告します。

例: 次のコードを取る

void Test(float foo) { Console.WriteLine(foo.ToString()); ; }

float はカルチャに依存しないと思われるかもしれませんが、実際にはそうではありません。たとえば、小数点記号はカルチャによって異なる場合があります。その結果、文字列変換用に特定のカルチャ(たとえば、Thread.CurrentThread.CurrentCulture)または不変カルチャ CultureInfo.InvariantCulture のいずれかを指定することが理にかなっていることがよくあります。

関連ページ:

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから(W...

コード検査: 文字列比較を明示的に指定する

このインスペクションは、文字列変換で明示的にカルチャを指定すると同様に、異なるカルチャ設定のマシンでコードを実行する際の問題を回避できます。/ によって返された文字列結果が等価演算子 (/) を使用して比較される場合、比較結果はマシンのロケールによって異なる場合があります。標準的な例はトルコ語で、ドットなしの小文字の「ı」と対応する大文字の「I」、および小文字の「i」とドット付きの大文字の「İ」があります。大文字と小文字を区別しない比較に / を使用する場合は、次のようになります。public voi...