C# array与arraylist区别及获取sql字段名

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));
            }

时间: 2024-08-25 10:38:08

C# array与arraylist区别及获取sql字段名的相关文章

PHP中array_merge和array相加的区别分析

今天处理一个这样的问题:如何获取字符键名相同值不同的两个数组值集合,用array_merge和数组相加都不可行,让我认真比较了下PHP中array_merge和array相加的区别 首先来看看键名是string,两者区别: 复制代码代码如下: <?php$arr1 = array('a'=>'PHP');$arr2 = array('a'=>'JAVA');//如果键名为字符,且键名相同,array_merge()后面数组元素值会覆盖前面数组元素值print_r(array_merge(

[转载] SQL获取所有数据库名、表名、储存过程以及参数列表

查询一个数据库中所有表字段属性的sql语句 1.获取所有用户名: SELECT name FROM Sysusers where status='2' and islogin='1' islogin='1'表示帐户 islogin='0'表示角色 status='2'表示用户帐户 status='0'表示糸统帐户 2.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 3.获取所有表名 SELECT Name FROM Da

SQL获取所有数据库名、表名、储存过程以及参数列表

SQL获取所有数据库名.表名.储存过程以及参数列表 1.获取所有用户名:SELECT name FROM Sysusers where status='2' and islogin='1'islogin='1'表示帐户islogin='0'表示角色status='2'表示用户帐户status='0'表示糸统帐户2.获取所有数据库名:SELECT Name FROM Master..SysDatabases ORDER BY Name3.获取所有表名SELECT Name FROM Databas

MS SQL查询所有表行数,获取所有数据库名,表名,字段名

1.获取所有数据库名 --SELECT Name FROM Master..SysDatabases ORDER BY Name -- 2.获取所有表名: --SELECT Name NAMEtemp,* FROM TEST..SysObjects Where XType='U' ORDER BY Name --表名  ----XType='U':表示所有用户表; ----XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name FROM SysColumns WHER

SQL Server 获取所有库名

----1. 获取所有的数据库名----- SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME -----2. 获取所有的表名------ SELECT NAME FROM SYSOBJECTS WHERE XTYPE='U' ORDER BY NAME --XTYPE='U':表示所有用户表; --XTYPE='S':表示所有系统表; SELECT NAME FROM SYSOBJECTS WHERE TYPE = 'U' AND SY

获取sqlserver数据库中所有库、表、字段名的方法

1.获取所有数据库名: SELECT Name from Master..SysDatabases ORDER BY Name 2.获取所有表名: SELECT Name from DatabaseName..SysObjects Where XType='U' ORDER BY Name XType='U':表示所有用户表; XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name from SysColumns WHERE id=Object_Id('TableNa

Java面试题之Array和ArrayList的区别

Array和ArrayList的区别: 1.Array类型的变量在声明的同时必须进行实例化(至少得初花数组的大小),而ArrayList可以只是先声明: 2.Array始终是连续存放的:而ArrayList的存放不一定连续: 3.Array对象的初始化必须指定大小,且创建后的数组大小是固定的:而ArrayList的大小可以动态指定,空间大小可以任意增加: 4.Array不能随意添加.删除:而ArrayList可以在任意位置插入和删除 原文地址:https://www.cnblogs.com/hu

浅谈Array和ArrayList的区别

参考:http://www.cnblogs.com/a164266729/p/4561651.html (1)ArrayList是Array的复杂版本 ArrayList内部封装了一个Object类型的数组,从一般的意义来说,它和数组没有本质的差别,甚至于ArrayList的许多方法,如Index.IndexOf.Contains.Sort等都是在内部数组的基础上直接调用Array的对应方法. (2)存储的数据类型 ArrayList可以存储异构对象,而Array只能存储相同数据类型的数据. (

Array和ArrayList的异同点【转】

相信数组是大家在编程最常使用的,不论任何语言都存在数组这样的数据结构,由于C#语言是完全面向对象的,所以在C#中的数组也是对象,实际上就是Array类的实例,Array类的使用可以说是使用最频繁的,只是大家在使用时都没太在意,如在创建数组int[]时实际上就创建了一个Array类对象的实例.最近我仔细研究了一下C#中的Array及ArrayList类之间的异同,总结了以下几点: [Array和ArrayList的区别] #1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大