如何提高此代码的性能?

时间:2013-09-01 05:07:32

标签: c# performance

我是否可以提高此代码的性能,我试图从字符串列表(_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>> 

2 个答案:

答案 0 :(得分:2)

如果您想搜索那些可以试试HashSet<T>的人?在散列集中的搜索在O(1)处摊销。

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

答案 1 :(得分:0)

使用SortedList课程,然后使用.BinarySearch()