首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加快DataColumn检查速度?

如何加快DataColumn检查速度?
EN

Stack Overflow用户
提问于 2018-07-16 21:19:24
回答 1查看 51关注 0票数 0
代码语言:javascript
复制
string specifiedSymbol = "MySymbol";

Systems.Data.DataTable table = CreateInitialTable();

if (!table.Columns.Contains(specifiedSymbol))
       table.Columns.Add(specifiedSymbol, Type.GetType("System.Double"));

我刚刚分析了上面的语句,看起来IF大约需要10毫秒。这对我的应用程序来说是一段很长的时间。我还能如何更有效地检查列是否存在于datatable中?

EN

回答 1

Stack Overflow用户

发布于 2018-07-16 21:32:12

您使用的是什么类或导入并不明显,因此我将提供一个通用的答案。

当在复杂度为O(n) (或更糟)的集合上调用Contains()时,可以通过执行以下操作之一来提高性能:

  • 管理一个单独的HashSet,您可以在其中镜像对O(n)集合所做的任何更改,然后使用HashSetContains()-method测试是否存在。
  • 如果您无法跟踪对集合的更改,您仍然可以通过创建一个HashSet并在每次需要调用Contains() E110时用集合的内容填充它来提高性能。也就是说,没有间歇性的更改操作,使用集合的实现所耗费的时间比完全从其内容创建新的HashSet所花费的时间更长。出于性能方面的原因,这不如前者可取,但对于code-manageability.

更可取

最好的情况是能够编写一个继承自集合类的新类,并将所有逻辑放入其中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51362806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档