DataTable是否比List <t>消耗更多内存?</t>

时间:2008-11-08 21:58:36

标签: c# performance data-structures

在性能方面是否存在折衷,在内存消耗方面存在折衷?

2 个答案:

答案 0 :(得分:15)

是的,DataTable绝对消耗的内存多于List。

DataTable类有很多用于列定义的对象,表信息(名称等),行对象的集合,每行的“项目数组”(基本上所有List都有),等等。 / p>

编辑:此外,List更适合添加项目,itterating through等(反映通用列表的“添加”代码,以及数据表的详细信息)。

答案 1 :(得分:10)

噢,是的,它很胖。它可以比List&lt;&gt;更高效。虽然。它创建一个索引,因此查找可以是O(1)。行存储在红黑树中,因此插入和删除可以是O(log n)。对于List&lt;&gt;,所有这些操作都是O(n)。要获得这种性能,您必须明智地选择列和查询。与常规数据库表相同的注意事项。