CA1514: 冗長な長さの引数を使用しないようにする
プロパティ | 値 |
---|---|
ルール ID | CA1514 |
Title | 冗長な長さの引数を使用しないようにする |
[カテゴリ] | 保守容易性 |
修正が中断ありか中断なしか | なし |
.NET 8 では既定で有効 | 提案として |
原因
冗長な長さの引数は、文字列またはバッファーの末尾にスライスするときに、String.Substring、Span<T>.Slice、ReadOnlySpan<T>.Slice、または Memory<T>.Slice に渡されます。
規則の説明
明示的に計算された長さの引数はエラーが発生しやすくなる場合があり、文字列またはバッファーの末尾にスライスする場合は必要ありません。
長さの引数を省略したコードは、より読みやすく保守しやすいものになります。
違反の修正方法
長さの引数を削除してください。
例
次のコード スニペットは、CA1514 の違反を示しています。
string message = "Hello World!";
string world = message.Substring(6, message.Length - 6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6, message.Length - 6) ' "World!"
次のコード スニペットでは違反を修正しています。
string message = "Hello World!";
string world = message.Substring(6); // "World!"
Dim message As String = "Hello World!"
Dim world As String = message.Substring(6) ' "World!"
どのようなときに警告を抑制するか
コードの保守性が懸念されない場合は、この規則違反を抑制しても問題ありません。
警告を抑制する
単一の違反を抑制するだけの場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則をもう一度有効にします。
#pragma warning disable CA1514
// The code that's violating the rule is on this line.
#pragma warning restore CA1514
ファイル、フォルダー、またはプロジェクトの規則を無効にするには、構成ファイルでその重要度を none
に設定します。
[*.{cs,vb}]
dotnet_diagnostic.CA1514.severity = none
詳細については、「コード分析の警告を抑制する方法」を参照してください。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET