This product is not supported for your selected Datadog site. ().
Metadata
ID:csharp-best-practices/startswith-indexof
Language: C#
Severity: Notice
Category: Best Practices
Description
This rule encourages developers to use the StartsWith method instead of relying on IndexOf to check if a string begins with a specific substring. Using StartsWith is more expressive and clearly communicates the intent of the code, improving readability and maintainability. From a performance perspective, StartsWith is often more efficient because it can stop checking as soon as a mismatch is found at the beginning of the string, whereas IndexOf may scan through the entire string to find the substring. This efficiency gain can be significant in performance-critical applications or when processing large volumes of text.
To comply with this rule, replace any condition that checks if IndexOf returns zero (indicating the substring is at the start) with a call to StartsWith. For example, instead of writing if (text.IndexOf("abc") == 0), use if (text.StartsWith("abc")). This practice leads to clearer, more concise, and potentially faster code.
Non-Compliant Code Examples
if(text.IndexOf("abc")==0){Console.WriteLine("Starts with abc");}
Compliant Code Examples
if(text.StartsWith("abc")){Console.WriteLine("Starts with abc");}
Seamless integrations. Try Datadog Code Security
Datadog Code Security
Try this rule and analyze your code with Datadog Code Security
How to use this rule
1
2
rulesets:- csharp-best-practices # Rules to enforce C# best practices.
Create a static-analysis.datadog.yml with the content above at the root of your repository
Use our free IDE Plugins or add Code Security scans to your CI pipelines