sponsored links

关于TypedDataTable 、 DataTable 、 ArrayList 、 IList 、Array

 收集一些关于几个类型的知识点:

一.关系

IList   il=new   ArrayList();    

IList是一个接口,AarrayList继承这个接口,il是一个ArrayList类型的对象

 

C#中实例变量定义的格式是   
  静态类型   变量名=实例;   
  如果静态类型是类,实例可以是静态类型本身的实例对象;也可以是其子类的实例对象   
  如果静态类型是接口,实例可以是其实现类的实例或其子接口实现类的实例   
    
  IList   il=new   ArrayList();   
  是第二种情况

 

二.性能

显示数据时,通常以上几个对象作为载体,具体哪种方式性能比较好呢,已有人提供测试的方式,这里只引用

其测试结果。

TypedDataTable < DataTable < ArrayList < IList < Array

TypedDatatTable比DataTalbe花的时间将近几倍

ArrayList比IList慢,是因为需要转型

在长度确定的情况下Array比IList要快。

ArrayList、IList、Array在性能上相差无几,综合以上,建议采取IList。

Tags:
  • StringCollection,Array,ArrayList,IList,Item,Queue,Stack,Hashtable,SortedList
    StringCollection,Array,ArrayList,IList,Item,Queue,Stack,Hashtable,SortedList            当需要大小可按需动态增加,并希望通过索引来进行访问的数组的时候,使用ArrayList .            当需要一个能实现后进先出的集合时,使用Stack.           ...
  • 反射List&lt;M To DataTable反射IList To DataTable反射 DataTable To List&lt;M
    反射List&lt;M To DataTable反射IList To DataTable反射 DataTable To List&lt;M
     将DataTable集合反射获取 List<M> /// <summary> /// 根据DataTable集合反射获取 List<M> /// </summary> /// <typeparam name="M">泛型实体</typeparam> /// < ...
  • 探求C#.Net中ArrayList与Array的区别 转
     ArrayList与Array的区别概述     ArrayList 是数组的复杂版本.ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能.例如:     Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的.如果更改了 ArrayList.Capacity 属性的值,则自动 ...
  • 探求C#.Net中ArrayList与Array的区别
     ArrayList与Array的区别概述     ArrayList 是数组的复杂版本.ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能.例如:     Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的.如果更改了 ArrayList.Capacity 属性的值,则自动 ...
  • ArrayList和Array 用法及注意事项
    ArrayList可以存放不同类型的数据,第一个可以是int,第二个可以是double等等  而List存放的是单一的数据类型的数据用法如下:  List<GameObject> xx = new List<GameObject>();  ArrayList的用法如下:  ArrayList xx = new ArrayList(); ...
  • 将DataTable或Ilist&lt;&gt;转换成JSON格式
    [code=BatchFile]1将DataTable或Ilist<>转换成JSON格式 using System; using System.Data; using System.Text; using System.Collections.Generic; using System.Reflection; /// <summary> ...