本文說明使用 List<T>.Find時的效能深入解析。
原因
List<T>.Find 方法會導致效能變慢。
效能深入解析描述
該 List<T>.Find 方法對清單執行線性搜索,導致每次查找的 O(n) 時間複雜度。 當頻繁搜尋項目或在大型清單中搜尋項目時,這可能效率低下。
可能的話,請考慮使用 Dictionary<TKey,TValue> 或 HashSet<T>. 如果可以將索引鍵或唯一屬性指派給值 Dictionary<TKey,TValue> ,則可以使用。 如果您要儲存唯一值, HashSet<T> 則可以使用。 與 中的 List<T>.FindO(n) 相比,這兩種替代資料結構的每次查找都有 O(1) 時間複雜度。
如何調查警告
在 [CPU 使用率] 工具中,按一下 [檢視原始程式碼 ] 以尋找使用位置 List<T>.Find 。 可能的話,請重構程式碼,以使用具有更快查詢速度的替代資料結構。