共用方式為


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。

規則描述

Split 方法會在 String 物件上作業,並傳回 String 的新陣列,其中包含原始字串的子字串。 此函式會為傳回的陣列物件配置記憶體,並會為它找到的每個陣列元素配置新的 String 物件。 同樣的,Substr 方法會在 String 物件上作業,然後傳回新的 String,其值相當於所要求的子字串。

如果管理記憶體配置在您的應用程式中極為重要,請考慮使用 String.Split 和 String.Substr 方法的替代方案。 例如,您可以使用 IndexOf 或 IndexOfAny 方法,來尋找字元字串內的特定子字串,而不需要建立 String 類別的新執行個體。

如何調查警告

按兩下 [錯誤清單] 視窗中的訊息,即可巡覽至取樣程式碼剖析資料的函式詳細資料檢視。 檢查呼叫函式,以找出最常使用 System.String.Split 或 System.String.Substr 方法之程式的區段。 如果可能的話,使用 IndexOf 或 IndexOfAny 方法來尋找字元字串內的特定子字串,而不建立 String 類別的新執行個體。