CA2251: String.Compare の代わりに String.Equals を使用します

プロパティ
ルール ID CA2251
Title String.Compare の代わりに String.Equals を使用します
[カテゴリ] 使用方法
修正が中断ありか中断なしか なし
.NET 8 では既定で有効 いいえ

原因

String.Compare への呼び出しの結果が、0 と比較されます。

規則の説明

String.Compare は、並べ替えに使用できる合計順序比較を生成するように設計されています。 文字列が等しいかどうかだけを確認する場合は、String.Equals の同等のオーバーロードを使用する方が、より明確かつ高速です。

違反の修正方法

この規則の違反を修正するには、String.Compare の結果を String.Equals への呼び出しと比較する式を置き換える必要があります。

どのようなときに警告を抑制するか

この規則による警告は抑制しても問題ありません。

警告を抑制する

単一の違反を抑制するだけの場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則をもう一度有効にします。

#pragma warning disable CA2251
// The code that's violating the rule is on this line.
#pragma warning restore CA2251

ファイル、フォルダー、またはプロジェクトの規則を無効にするには、構成ファイルでその重要度を none に設定します。

[*.{cs,vb}]
dotnet_diagnostic.CA2251.severity = none

詳細については、「コード分析の警告を抑制する方法」を参照してください。

関連項目