共用方式為


效率低下的清單<T>。尋找使用方式

本文說明使用 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 。 可能的話,請重構程式碼,以使用具有更快查詢速度的替代資料結構。

另請參閱

.NET 中的字典