C#中数组,ArrayList和List三者的区别

如题所述

第1个回答  2014-12-02
数组,简单的集合类型,定义时需要设置长度,一般用来存储字符串和数字。
ArrayList,数组列表,和普通数组的功能差不多,但是它的长度是可变的,在定义时不需要指定数组长度。
List,列表,一般和List<>泛型搭配使用,用来存储复杂的集合类型 List<object>,也可以用来存储基础的字符串和数字,它的长度也是不固定的。
第2个回答  推荐于2016-05-17
数组和list的类型都是指定的,list随时可添加元素,但数组不能它是有固定长度的。
int【】a, string【】a, char【】a
List<int> a=new List<int>(); //指定元素类型为int

ArrayList和list一样随时可添加新元素,但ArrayList里不限定元素类型,即可以添加int类型也可以添加char类型等等。本回答被提问者和网友采纳

C#中数组,ArrayList和List三者的区别
因为ArrayList存在不安全类型与装箱拆箱的缺点,所以出现了泛型的概念。List类是ArrayList类的泛型等效类,它的大部分用法都与ArrayList相似,因为List类也继承了IList接口。最关键的区别在于,在声明List集合时,我们同时需要为其声明List集合内数据的对象类型。比如:List<string> list = new List<string>()...

C#中数组,ArrayList和List三者的区别
首先最最重要的区别是:数组和ArrayList接受的类型是object,也就是说啥都可以装进去!这里面就有一个类型转换的问题(专业术语也叫做装箱和拆箱);而List是泛型的,什么是泛型呢?就是你在定义的时候 一定要指明这个List安装的是什么类型的。比如,你这样定义List List l = new List();编译器会提示...

C#中数组,ArrayList和List三者的区别
数组可以具有多个维度,而 ArrayList或 List< T> 始终只具有一个维度。但是,您可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组 的性能优于 ArrayList的性能。 这是因为 ArrayList的元素属于 Object 类型;所以在存储或检索值类型时通常发生装箱和取消装箱操作。不过,在不需要重新分配时...

C#中数组,ArrayList和List三者的区别
数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素很简单 ArrayList是.Net Framework提供的用于数据存储和检索的专用类,它是命名空间System.Collections下的一部分。它的大小是按照其中存储的数据来动态扩充与收缩的。所以,我们在声明ArrayList对象时并不需要指定它的长度。ArrayList...

数组,List和ArrayList的区别
数组、List和ArrayList的区别 数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单,比如:string[] s=new string[3];\/\/赋值 s[0]="a"; s[1]="b"; s[2]="c";\/\/修改 s[1]="b1";但是数组也存在一些不足的地方。比如在数组的两个数据间插入数据也是很...

c#中List,Dictionary,ArrayList,Hashtable和数组的区别是什么_百度知 ...
C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue 1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的 2.数组要声明元素的类型,集合类的...

C#中Collection,List和ArrayList的区别
在ArrayList中插入不同类型的数据是允许的。因为ArrayList会把所有插入其中的数据当作为object类型来处理,在我们使用ArrayList处理数据时,很可能会报类型不匹配的错误,也就是ArrayList不是类型安全的。在存储或检索值类型时通常发生装箱和取消装箱操作,带来很大的性能耗损。泛型List 因为ArrayList存在不安全类型...

C# 数据类型
ArrayList是列表集合,相当于动态数组,是不限长度的顺序表。List是ArrayList的泛型集合 数组沿袭了Java的数组概念,为静态数组,是限定长度的顺序表(跟C++不同,是有下标检查的,索引不能超范围)HashTable是哈希表,通过Key和Value来储存值,也就是以 表名[Key名]=Value名 的形式来使用,不再像数组和...

C#中Collection,List和ArrayList的区别
另一方面,Collection<T>和List<T>也实现了IList, ICollectionIEnumerable,说明这两个类比ArrayList提供了更多的方法。3. 范型与非范型的区别 ArrayList是非范型类,如此,这个集合可以包含不同类型成员,我们可以看到,Add方法是Add(Object obj),所以这是一个对象杂陈的类。使用这个类进行操作时,IndexOf...

C# 中 ArrayList 和IList有什么区别?
ArrayList是IList的一个具体实现,是用数组(Array)来作为底层的数据结构实现的list的各项操作

相似回答