0

在我尝试从字符串列表 (_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>> 
4

2 回答 2

2

如果你想在那些你可以HashSet<T>试一试?哈希集中的搜索以 O(1) 摊销。

 HashSet<Dictionary<string, string>> tr = new HashSet<Dictionary<string, string>>();
 HashSet<string> _authorizedBks = new HashSet<string>();
于 2013-09-01T05:12:37.223 回答
0

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

于 2013-09-17T02:32:04.453 回答