← 返回首页
Constant condition — CodeQL query help documentation CodeQL docs
CodeQL documentation
CodeQL resources

Constant condition

ID: cs/constant-condition Kind: problem Security severity: Severity: warning Precision: very-high Tags: - quality - maintainability - readability - external/cwe/cwe-835 Query suites: - csharp-code-quality.qls - csharp-security-and-quality.qls

Click to see the query in the CodeQL repository

A condition that always evaluates to true or always evaluates to false can be removed, thereby simplifying the program logic. If the condition is a loop condition, consider rewriting the loop using bounded iteration (for example, a foreach loop), if possible.

Recommendation

Avoid constant conditions where possible, and either eliminate the conditions or replace them.

Example

In the following example, the condition a > a is constantly false, so Max(x, y) always returns x.

class Bad { public int Max(int a, int b) { return a > a ? a : b; } }

The revised example replaces the condition with a > b.

class Good { public int Max(int a, int b) { return a > b ? a : b; } }