Share via


DA0013: High usage of String.Split or String.Substring

Rule Id

DA0013

Category

.NET Framework Usage Guidance

Profiling methods

Sampling

Message

Consider reducing use of String.Split and String.Substring functions.

Rule type

Warning

Cause

Calls to the System.String.Split or System.String.Substring methods are a significant portion of the profiling data. Consider using System.String.IndexOf or System.String.IndexOfAny if you are testing for the existence of a substring in a string.

Rule Description

The Split method operates on a String object and returns a new array of Strings that contains the substrings of the original. The function allocates memory for the returned array object and allocates a new String object for each array element it finds. Similarly, the Substr method operates on a String object and returns a new String that is equivalent to the substring that was requested.

If managing memory allocations is critical in your application, consider using alternatives to the String.Split and String.Substr methods. For example, you can use either the IndexOf or IndexOfAny method to locate a specific substring within a character String without creating a new instance of the String class.

How to Investigate a Warning

Double-click the message in the Error List window to navigate to the Function Details View of the sampling profile data. Examine the calling functions to find the sections of the program that make the most frequent use of the System.String.Split or System.String.Substr methods. If it is possible, use either the IndexOf or IndexOfAny method to locate a specific substring within a character String without creating a new instance of the String class.