客, 提高班的,非提高班的博客看了很多,从中吸取了很多经验,在这里分享给大家。在敲机房的过程中,遇到个很典型的问题,就是类型的转换,从Datatable转换成泛型集合。看了很多人的博
先明确一下这两种类型的意义,然后再看这两种的区别与优势:
意义
Datatable是一个临时保存数据的网络虚拟表。是ADO.net库中的核心对象,也可以被DataSet和DataView使用。
它表示一个内存内关系数据的表,可以独立创建和使用,也可以由其他.NET Framework对象使用,最常见的情况是作
为DataSet的成员使用。
主要用法是:通过使用Add方法将其添加到Datatable对象的Tables集合中,将其添加到DataSet中。也可以使用
DataAdapter对象的Fill方法或FillSchema方法在DataSet中创建。
要 以模板方式实现(即泛型),可以处理任意型别的变量。它的特色是在集合的任何位置增加或删除元素都很快,但而泛型集合List从英文翻译可以看出,它表示一张明细表,类似与目录。它是类库提供的众多容器之一,它主
是不支持随机存取。
区别
老师要求不能使用Datatable,而要用泛型集合的方式存取数据。我刚知道这个的时候,猜了一下,大概是
Datatable创建是不是太简单了?所以老师为了增加难度锻炼我们,所以加入了泛型的概念。呵呵,光猜不行,得证
明啊!
在机房收费系统中,一般用Sqldatareader读取数据转换成实体后存入list,如直接用Datatable保存数据代码
更简单,但操作list比Datatable灵活。它们的性能基本上是相同的,但是Datatable使用比较方便,特别是数据绑定
的时候,list比较适合保存不是系统默认类型的数值,比如model。它能够灵活的进行转换,而且最重要的不是拆箱
和装箱,保证数据不会因为数据转换而出错,并且由于不用拆装箱,所以它具有很好的工作效率。
由此,我们的答案也就出来了。用好list,并且了解Datatable方法,是上上选哦~
总结
这篇主要写这两者的区别,下篇博客会注重说明Datatable与list间的具体转换过程。理论和实践得结合起来使
用,才能让学习效率大大提高。现在缺的就是动手能力,还是那句常说的话:Just do it!