array与arraylist的区别:
1、 Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制。
2、ArrayList 提供添加、插入或移除某一范围元素的方法。在 Array 中,您只能一次获取或设置一个元素的值。
3、 arraylist中 属性
Count属性是目前ArrayList包含的元素的数量,这个属性是只读的。
Capacity属性是目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常。
IsFixedSize获取一个值,显示是否具有固定大小。
Item获取或设置指定索引的元素
4、arraylist中 常用方法属性
Add方法用于添加一个元素到当前列表的末尾
AddRange方法用于添加一批元素到当前列表的末尾
Remove方法用于删除一个元素,通过元素本身的引用来删除
RemoveAt方法用于删除一个元素,通过索引值来删除
RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除
Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动
InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动
CopyTo将 arraylist 或它的一部分复制到一维数组中
ToArray将 ArrayList 的元素复制到新数组中
TrimToSize将容量设置为 ArrayList 中元素的实际数目
Clear从 ArrayList 中移除所有元素
5、将arraylist转换为array
ToArray方法:
arraylist al=new arraylist();
int[] ss=(int[]) al.ToArray();
CopyTo方法:
arraylist al=new arraylist();
int[] ss=new int[al.count];
al.CopyTo(ss);
区别:(转载)
ArrayList是动态数组,它不包括通过Key或者Value快速访问的算法,所以实际上调用IndexOf、Contains等方法是执行的简单的循环来查找元素,所以频繁的调用此类方法并不比你自己写循环并且稍作优化来的快,如果有这方面的要求,建议使用Hashtable或SortedList等键值对的集合。
ArrayList 提供将只读和固定大小包装返回到集合的方法。而 Array 不提供。
另一方面,Array 提供ArrayList 所不具有的某些灵活性。例如:
可以设置 Array 的下限,但 ArrayList 的下限始终为零。
Array 可以具有多个维度,而 ArrayList 始终只是一维的。
特定类型(不包括 Object)的 Array 的性能比 ArrayList 好,这是因为 ArrayList 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和取消装箱。
要求一个数组的大多数情况也可以代之以使用 ArrayList。它更易于使用,并且通常具有与 Object 类型的数组类似的性能。
Array 位于 System 命名空间中;ArrayList 位于 System.Collections 命名空间中。
获取sql中字段名:
dr = sqlCmd.ExecuteReader();
for(int i=0;i<=dr.FieldCount-1;i++)
{
// s+=dr.GetName(i);
list.Add(dr.GetNae(i));
}