【转载】C#中ArrayList集合类和List集合类的比较
list集合类和arraylist集合类都是c#语言中用于存储集合数据的集合类,两者都可灵活的插入、删除以及访问元素等等。但list集合和arraylist集合的差别还是挺大的,首先list集合类是泛型集合,list集合中存储的数据的类型都是确定的。arraylist集合类为非泛型类集合,集合中存储的元素未做详细的限定,只要能转换为object类型的变量都可往arraylist集合类对象中存储,因此arraylist集合类是类型不安全的,在实际运行过程中可能出现因为类型转换错误导致的运行时错误。
一、list集合和arraylist集合的相同点
(1)两者都是为集合类,可以存储批量的集合数据
(2)两者都可以灵活地插入、删除、访问元素等操作。
(3)两者长度都是非固定的,集合类内部通过添加或删除元素就可以动态改变数组长度。
二、list集合和arraylist集合的不同点
(1)list集合为泛型集合,集合中存储的数据类型是固定的。arraylist集合为非泛型集合,集合中存储的类型为object类型,多种不同的数据类型都可同时新增到一个arraylist集合变量中。
(2)如果往list集合中新增非泛型指定的类型对象的时候,list集合会直接抛出编译时异常,无法编译通过。而arraylist集合则是任何数据类型对象都可往里写入。
(3)list集合是类型安全的,从list集合中取出来的数据肯定是确定的类型。而arraylist集合为非类型安全集合,在arraylist集合元素新增以及类型转换的时候一定要自行做好数据的校验,否则可能出现程序运行时错误,例如arraylist集合变量中既存储int类型数据,又存储string类型数据,如果未做数据校验,在程序中直接使用convert.toint32将集合元素转为int的话,程序在编译时不会报错,但在程序运行过程中可能会出现字符串无法转换而抛出运行时异常。
(4)list集合的速度比arraylist集合速度快。
备注:原文转载自博主个人站it技术小趣屋,原文链接为c#中arraylist集合类和list集合类的比较_it技术小趣屋。
博主个人技术交流群:960640092,博主微信公众号如下:
上一篇: 虾滑营养价值有哪些?食用功效如何?
下一篇: 猪肉炖粉皮茶树菇的做法是什么
推荐阅读
-
【转载】 C#中ArrayList集合类的使用
-
【转载】C#中ArrayList集合类使用Add方法添加元素
-
【转载】C#中List集合使用RemoveRange方法移除指定索引开始的一段元素
-
【转载】C#中ArrayList集合类和List集合类的比较
-
【转载】C#中List集合中Last和LastOrDefault方法的差别
-
【转载】C#中List集合SingleOrDefault和FirstOrDefault方法有何不同
-
【转载】C#中List集合使用LastOrDefault方法查找出最后一个符合条件的元素
-
【转载】C#中ToArray方法将List集合转换为对应的数组
-
【转载】C#中List集合使用RemoveAt方法移除指定索引位置的元素
-
【转载】C#中List集合使用Reverse方法对集合中的元素进行倒序反转