DA0013:String.Split 或 String.Substring 的使用率高

规则 ID

DA0013

类别

.NET Framework 使用指南

分析方法

采样

消息

请考虑减少使用 String.Split 和 String.Substring 函数。

规则类型

警告

原因

对 System.String.Split 或 System.String.Substring 方法的调用在分析数据中占很大比例。 如果要测试字符串中是否存在子字符串,请考虑使用 System.String.IndexOf 或 System.String.IndexOfAny。

规则说明

拆分方法将对 String 对象进行操作,并返回一个新的 String 数组,该数组包含原始字符串的子字符串。 该函数为返回的数组对象分配内存,并为其找到每个数组元素分配一个新的字符串对象。 同样,Substr 方法对 String 对象进行操作,并返回一个新的 String 值,它等效于请求的子字符串。

如果在应用程序中管理内存分配是关键,请考虑使用 String.Split 和 String.Substr 方法的替代项。 例如,可以使用 IndexOf 或 IndexOfAny 方法定位字符 String 中特定的子字符串,无需创建一个 String 类的新实例。

如何调查警告

双击“错误列表”窗口中的该消息以导航到采样分析数据的函数详细信息视图。 检查调用函数来查找最频繁使用 System.String.Split 或 System.String.Substr 方法的程序节。 如果可能,使用 IndexOf 或 IndexOfAny 方法定位字符 String 中特定的子字符串,无需创建一个 String 类的新实例。