← back to index

S3981 — Collection sizes and array length comparisons should make sense

Language: VB.NET  |  Type: BUG  |  Severity: Major

Tags: confusing

Why is this an issue?

The size of a collection and the length of an array are always greater than or equal to zero. Testing it doesn’t make sense, since the result is always true.

If Collection.Count >= 0 Then ... 'Noncompliant always true

If array.Length >= 0 Then ... 'Noncompliant always true

Similarly testing that it is less than zero will always return false.

If Enumerable.Count < 0 Then ... 'Noncompliant always false

Dim result As Boolean = Array.Length >= 0 'Noncompliant always true

Fix the code to properly check for emptiness if it was the intent, or remove the redundant code to keep the current behavior.