以上两个都是存储数据的容器吧,我想问一下,这两个容器在各位的开发当中那个使用的效率更高一些,我一直在用Ilist<T>

解决方案 »

  1.   

    IList<T>是泛型化的借口存储,这里你可以根据你需要的类型设置,而DataTable存储的Object类型,一般而言是DataTable效率好点,但要装箱拆箱麻烦!
      

  2.   

    Ilist<T>你这个是接口  dataTable是内存中的一张表,dataTable中的数据从SQL数据库或是XML中来 
    ilist<T>注重的是显示项和数据  两个风牛马不相及的玩意
      

  3.   

    DataTable 
    有支持数据的提交、回滚、查询等强大的方法,但访问单元格内容的时候不方便,还要类型转换。
    支持web service,不支持 WCF,默认序列化为XmL形式,占用的空间大,导致传送慢
    利于筛选和汇总,如Compute 和select,内存中的数据表 一个二维表
    是大对象,并且还要保存行的版本
    传送时必须整体传送,而List则可以按其元素增量传送(在WCF里面)
    IList<T>
    则访问项的属性比较方便,有属性自动提示,不用类型转换,有LINQ的协助也能实现强大的查询。
    不支持web service,支持 WCF
    使用强类型,减少拆箱和装箱
    可以实体对象,可以使用特定对象的功能或属性
    泛型数组 存放的是一个一个的被对象化的数据模型 其它:
    用DataTable,因为方便,直接DataAdatper.Fill(DataTable)就行了,如果用IList,
    还得去一个一个绑定,麻烦。功能和性能永远是一对矛盾体,DataTabel功能强大必然要性能差些;
    数组结构则反之。我想大家平时DataTable一定没少用,希望能给大家提个醒,其实各种数据结构都有其最佳用途,
    要根据需要有针对性地进行选择。
    总结:
    DataTable 使用方便,功能强大,传输慢,推荐数据要进行平凡的过滤排序计算,最好缓存。
    List<t>,使用不方便,占用内存小,传输快,只是要显示一些变化不大的东西稳定的数据。
    性能最快的是数组List<t>常用的繁琐的CRUD,而不是细微和处理大数据,用DataTable 快。 
      

  4.   

    效率上 List<t> 肯定是最优的DataTable 提供很多List<t>不嫩提供的能力:排序、筛选、数据绑定、序列化