IndexOf function should check the first character

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.

Metadata

ID: csharp-best-practices/indexof-checks

Language: C#

Severity: Warning

Category: Error Prone

Description

When using Indexof or LastIndexOf, using > 0 may miss the first item of the collection (string, list, etc). Instead, the code should use >=0 to take the first element into account.

Non-Compliant Code Examples

using System.Net;

class MyClass {
    public static void routine(string str, string str2)
    {
        str.IndexOf(str2)>0;
        str.IndexOf(str2)>0;
        str.LastIndexOf(str2)>0;
    }
}

Compliant Code Examples

using System.Net;

class MyClass {
    public static void routine(string str, string str2)
    {
        str.IndexOf(str2)>=0;
        str.IndexOf(str2)>=0;
        str.LastIndexOf(str2)>=0;
        if (serverPackages.Any(x => x.Version.CompareTo(currentVersion) > 0)) {
            
        }
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis