如何提高此代码的性能

本文关键字:性能 代码 何提高 | 更新日期: 2023-09-27 18:29:44

在中尝试从字符串列表(_authorizedBks)中搜索字典列表(tr)时,我可以提高此代码的性能吗。有没有更好的方法可以用C#或.NET中的支持语言来编码?

for (int i = tr.Count - 1; i >= 0; i--)
{
     if (tr[i].ContainsKey("BK") && !_authorizedBks.Contains(tr[i]["BK"], StringComparer.CurrentCultureIgnoreCase))
     {
          removedBks.Add(tr[i]);
     }
}
// where tr is List<Dictionary<string, string>> 
// _authorizedBks is List<string>
// removedBks is List<Dictionary<string, string>> 

如何提高此代码的性能

如果你想在其中搜索,你可以试试HashSet<T>吗?散列集中的搜索按O(1)摊销。

 HashSet<Dictionary<string, string>> tr = new HashSet<Dictionary<string, string>>();
 HashSet<string> _authorizedBks = new HashSet<string>();

使用SortedList类,然后使用.BinarySearch()