Certain mathematical comparisons
will always return the same value, and should not be performed.
Specifically, the following comparisons will return either always true
or always false
depending on the kind of
comparison:
- comparing a
char
with a numeric constant that is outside of the range of char
- comparing a
float
with a numeric constant that is outside of the range of float
- comparing a
long
with a numeric constant that is outside of the range of long
- comparing a
ulong
with a numeric constant that is outside of the range of ulong
- etc.
Noncompliant code example
float f = 42.0f;
if (f <= double.MaxValue) { } // Noncompliant: always true
if (f > double.MaxValue) { } // Noncompliant: always false