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");}
シームレスな統合。 Datadog Code Security をお試しください
Datadog Code Security
このルールを試し、Datadog Code Security でコードを解析する
このルールの使用方法
1
2
rulesets:- csharp-best-practices # Rules to enforce C# best practices.