Checks for always-true expressions on collections and arrays Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter .
TRY THIS RULE ID: csharp-best-practices/unnecessary-length-count-check
Language: C#
Severity: Warning
Category: Best Practices
Description Because the Length
of an array or Count
of a collection will never be negative, some expressions will always evaluate to true, and some will always evaluate to false.
if ( collection . Count >= 0 ) { /* ... */ }
// Equivalent to
if ( true ) { /* ... */ }
if ( arr . Length < 0 ) { /* ... */ }
// Equivalent to
if ( false ) { /* ... */ }
This rule warns when always-true or always-false expressions are detected.
Non-Compliant Code Examples using System.Collections.Generic ;
using static System . Linq . Enumerable ;
class NonCompliant {
public static void Main ()
{
List < char > collection = [ 'a' , 'b' , 'c' ];
if ( collection . Count >= 0 ) { /* ... */ }
if ( collection . Count >= 0 b0 ) { /* ... */ }
if ( collection . Count >= 0x0 ) { /* ... */ }
if ( collection . Count >= - 1 ) { /* ... */ }
if ( collection . Count > - 1 ) { /* ... */ }
if ( collection . Count < 0 ) { /* ... */ }
if ( collection . Count < - 1 ) { /* ... */ }
char [] array = [ 'a' , 'b' , 'c' ];
if ( array . Count () >= 0 ) { /* ... */ }
if ( array . Count () >= 0 b0 ) { /* ... */ }
if ( array . Count () >= 0x0 ) { /* ... */ }
if ( array . Count () >= - 1 ) { /* ... */ }
if ( array . Count () > - 1 ) { /* ... */ }
if ( array . Count () < 0 ) { /* ... */ }
if ( array . Count () < - 1 ) { /* ... */ }
if ( array . LongCount () >= 0 b0 ) { /* ... */ }
if ( array . LongCount () >= 0x0 ) { /* ... */ }
if ( array . LongCount () >= - 1 ) { /* ... */ }
if ( array . LongCount () > - 1 ) { /* ... */ }
if ( array . LongCount () < 0 ) { /* ... */ }
if ( array . LongCount () < - 1 ) { /* ... */ }
if ( array . Length >= 0 ) { /* ... */ }
if ( array . Length >= 0 b0 ) { /* ... */ }
if ( array . Length >= 0x0 ) { /* ... */ }
if ( array . Length >= - 1 ) { /* ... */ }
if ( array . Length > - 1 ) { /* ... */ }
if ( array . Length < 0 ) { /* ... */ }
if ( array . Length < - 1 ) { /* ... */ }
}
}
Compliant Code Examples using System.Collections.Generic ;
using static System . Linq . Enumerable ;
class Compliant {
public static void Main ()
{
List < char > collection = [ 'a' , 'b' , 'c' ];
if ( collection . Count > 0 ) { /* ... */ }
if ( collection . Count > 0 b0 ) { /* ... */ }
if ( collection . Count > 0x0 ) { /* ... */ }
if ( collection . Count > 1 ) { /* ... */ }
if ( collection . Count == 0 ) { /* ... */ }
char [] array = [ 'a' , 'b' , 'c' ];
if ( array . Count () > 0 ) { /* ... */ }
if ( array . Count () > 0 b0 ) { /* ... */ }
if ( array . Count () > 0x0 ) { /* ... */ }
if ( array . Count () > 1 ) { /* ... */ }
if ( array . Count () == 0 ) { /* ... */ }
if ( array . LongCount () > 0 ) { /* ... */ }
if ( array . LongCount () > 0 b0 ) { /* ... */ }
if ( array . LongCount () > 0x0 ) { /* ... */ }
if ( array . LongCount () > 1 ) { /* ... */ }
if ( array . LongCount () == 0 ) { /* ... */ }
if ( array . Length > 0 ) { /* ... */ }
if ( array . Length > 0 b0 ) { /* ... */ }
if ( array . Length > 0x0 ) { /* ... */ }
if ( array . Length > 1 ) { /* ... */ }
if ( array . Length == 0 ) { /* ... */ }
}
}
Seamless integrations. Try Datadog Code Analysis