当前位置:编程学习 > C#/ASP.NET >>

datatable 多次赋值还是声明多个datatable

如果一个程序要多次查询数据库,操作可以分先后完成,那是将datatable 多次赋值还是声明多个datatable?
哪种方式好? --------------------编程问答--------------------   多次赋值吧,省资源, --------------------编程问答-------------------- 多次赋值!
声明多个datatable的时候,每次都要new一下,就要分配内存 --------------------编程问答--------------------
引用 2 楼 jiangshun 的回复:
多次赋值!
声明多个datatable的时候,每次都要new一下,就要分配内存


或者 dataset
--------------------编程问答-------------------- new一下不会浪费多少内存和造成多少时间上的延迟,

如果只有一个datatable变量多次赋值,会让程序看起来很乱,datatable的变量名和它存储的内容对不上号,程序不容易看明白,也容易乱,

生成多个datatable变量,可以对不同数据起不同的名字,让人一看到名字就知道datatable中放的是什么数据,可理解性会提高很多,不容易出错,

这是软件开发的一个原则,如果性能上(内存和速度)符合要求,那么最简单的程序是最好的程序,容易理解的程序是最好的程序,

既然内存够用,何必为了节省一点内存而让程序看起来不明白?
--------------------编程问答--------------------
引用 4 楼 stonespace 的回复:
new一下不会浪费多少内存和造成多少时间上的延迟,

如果只有一个datatable变量多次赋值,会让程序看起来很乱,datatable的变量名和它存储的内容对不上号,程序不容易看明白,也容易乱,

生成多个datatable变量,可以对不同数据起不同的名字,让人一看到名字就知道datatable中放的是什么数据,可理解性会提高很多,不容易出错,

这是软件开发的一个原则,如果性能上……
--------------------编程问答-------------------- 那如果多次赋值,datatable的地址是否每次都不一样?原来的是否自动释放? --------------------编程问答-------------------- 多次new。单纯的new一个空DataTable的开销很小,基本上可以忽略。而且这样程序有逻辑,否则DataTable一路下来就不知道是那个表了。

你给DataTable多次赋值只是改变它的引用地址而已,你赋给它的是你新构造的DataTable,它是要占用内存的,只要引用还在它就不会被释放,而且即使它为null了,也不能保证立即或很快就被.net回收。



--------------------编程问答-------------------- 具体问题具体分析
比如,我们要执行的操作是:对100张结构不同的表,从每一个表里取出(要查询)一些东西,满足一定业务要求。若要求这种操作十分频繁,则在内存够的情况下,就用100个datatable变量好;若要求操作次数不是很频繁,那么使用一个也勉强可以。
其实按照常理,只要数据规模不是很大,内容够用,还是用多个变量的好 --------------------编程问答-------------------- 永远记住一件事,
一个方法只处理一件事。
可以提高重用和降低代码的维护难度,更容易阅读.
备忘录模式的外部备件说法是相通的.
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,