
org.sonar.plugins.csharp.S2197.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sonarlint-omnisharp-plugin Show documentation
Show all versions of sonarlint-omnisharp-plugin Show documentation
Code Analyzer based on Omnisharp
Why is this an issue?
When the modulus of a negative number is calculated, the result will either be negative or zero. Thus, comparing the modulus of a variable for
equality with a positive number (or a negative one) could result in unexpected results.
Noncompliant code example
public bool IsOdd(int x)
{
return x % 2 == 1; // Noncompliant; if x is an odd negative, x % 2 == -1
}
Compliant solution
public bool IsOdd(int x)
{
return x % 2 != 0;
}
or
public bool IsOdd(uint x)
{
return x % 2 == 1;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy