【问题标题】:How to extract a column of a DataTable into a ConcurrentQueue(Of T)?如何将 DataTable 的列提取到 ConcurrentQueue(Of T) 中?
【发布时间】:2011-09-09 22:16:05
【问题描述】:

假设我有一个在内存中表示为 DataTable 的小型数据库,从该 DataTable 中提取列并将其放入 ConcurrentQueue(Of T) 的最佳方法是什么?

或者,我应该使用与 DataTable 不同的表示形式吗?

更多细节:

  • “数据库”是从更大的数据库中提取的,仅包含 3 列和 100-200 行。

  • ConcurrentQueue(Of T) 将被一组并行任务消耗

澄清:

假设数据表包含列“A”、“B”和“C”,行 1 到 200。我需要创建一个 ConcurrentQueue(Of T),其中包含 所有行。

【问题讨论】:

  • 列意味着你想要每行1个值?请添加一些详细信息。
  • @Henk 我已经澄清了我的问题

标签: .net datatable


【解决方案1】:

您为什么不创建一个类来保存您需要的数据并将功能添加到类(或类列表)中,而不是依赖于 DataTables,这将更具语义意义。

【讨论】:

  • 我确实想到了这个想法,但是将列值编组进出“收集”类的开销呢?
  • 您在问题中提到了 100-200 行。我无法想象开销是一个问题,但如果是这样,那显然是另一个问题。
  • 嗯……你说得有道理。不应该超过一两秒,但对于未来的可维护性来说是值得的。谢谢!我会接受你的回答:)
  • 2秒处理200条记录??我会认为接近 5 毫秒,或者至少在我开发的系统中这是我期望看到的。
  • 呃,我可能在那里误解了自己。我的错。我的意思是:即使这样的编组增加了一两秒(我敢肯定它不会),我不介意:)
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
  • 2020-07-24
  • 1970-01-01
相关资源
最近更新 更多