このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください

Metadata

ID: csharp-best-practices/startswith-instead-of-indexof

Language: C#

Severity: Info

Category: Best Practices

Description

The rule states that StartsWith should be used instead of IndexOf when checking if a string starts with a specific substring. This is because the StartsWith method is more clear and direct about its intention, making the code easier to read and understand.

The importance of this rule lies in its contribution to cleaner, more maintainable code. StartsWith explicitly communicates that you’re checking for a starting substring, while IndexOf requires a comparison to zero, which may not immediately convey the same intention to other developers reading the code.

How to Remediate

Use the StartsWith method when checking if a string begins with a certain substring. Not only does this make the code more readable, but it also eliminates the need for the equality comparison used with IndexOf, simplifying the code. Here’s an example: instead of writing if (s.IndexOf("abc") == 0) { // code here }, write if (s.StartsWith("abc")) { // code here }.

Non-Compliant Code Examples


if (s.IndexOf("abc") == 0) {
    // code here
}

if (0 == s.IndexOf("abc")) {
    // code here
}

Compliant Code Examples


if (s.StartsWith("abc")) {
    // code here
}
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 Security

PREVIEWING: aleksandr.pasechnik/svls-6807-lambda-fips