问下Ilist<T>与DateTable问题 以上两个都是存储数据的容器吧,我想问一下,这两个容器在各位的开发当中那个使用的效率更高一些,我一直在用Ilist<T> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IList<T>是泛型化的借口存储,这里你可以根据你需要的类型设置,而DataTable存储的Object类型,一般而言是DataTable效率好点,但要装箱拆箱麻烦! Ilist<T>你这个是接口 dataTable是内存中的一张表,dataTable中的数据从SQL数据库或是XML中来 ilist<T>注重的是显示项和数据 两个风牛马不相及的玩意 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 快。 效率上 List<t> 肯定是最优的DataTable 提供很多List<t>不嫩提供的能力:排序、筛选、数据绑定、序列化 C# 创建唯一实例后使用Application.Restart() pictureBox图片问题 TextBox和comboBox中用什么方法判断用户输入的是英文字母 请问大家一个关于HttpWebRequest请求的问题?? 请问怎么触发UltraGrid里的editButton的事件 是不是.net神经错乱 如何在C#中实现软件换肤? 请问那里有webbrowser控件的详细介绍?给分 有什么方法把图片变圆吗 请问VS里怎么在列表里加复选框? 如何让direct3d把图画到picturebox里? 事件异步调用的问题
ilist<T>注重的是显示项和数据 两个风牛马不相及的玩意
有支持数据的提交、回滚、查询等强大的方法,但访问单元格内容的时候不方便,还要类型转换。
支持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 快。