JetBrains Rider 2026.1 Help

コードインスペクション:Math.Abs() の引数は常に負ではありません

このインスペクションは、非負の引数があるため冗長になる可能性のある Math.Abs() の使用を報告します。

Math.Abs() の目的は、負になる可能性のある数を、負でない数値に変換することです。 引数が負でないことがわかっている場合は、 Math.Abs() 呼び出しを引数の値に安全に置き換えることができます。

変数やパラメーターの値が常に非負であることを判断するために、JetBrains Rider はデフォルトで有効化されている 整数演算分析に依存します。

以下の例では、次の理由により、 Math.Abs() の 3 つの使用箇所すべてが報告されます。

  • p1 は、対応する契約を追加する JetBrains.Annotations[NonNegativeValue] 属性でマークされています。

  • p2uint 型であり、負でない値のみを含むことができます。

  • p3 はソースコードで明示的にチェックされているため、負ではありません。

public void Test([NonNegativeValue] int p1, uint p2, int p3) { Console.WriteLine("Abs 1:" + Math.Abs(p1)); Console.WriteLine("Abs 2:" + Math.Abs(p2)); if (p3 < 0) return; Console.WriteLine("Abs 1:" + Math.Abs(p3)); }
2026 年 6 月 12 日