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,博主微信公众号如下:

最新文章

  1. eclipse中提示HttpServletRequest不能引用的解决办法
  2. Java-马士兵设计模式学习笔记-责任链模式-模拟处理Reques Response
  3. Red and Black ---路线问题
  4. 在使用MOS管时要注意的问题
  5. codeforce --- 340D
  6. Apache Tomcat8必备知识
  7. android代码控制seekbar的样式
  8. webstrom30天免费试用期过后如何破解继续使用
  9. Application->ProcessMessages();
  10. vuecli3初尝试(转载)
  11. windows mysql 的myini
  12. Spring AOP 入门实例详解
  13. Serial Wire Debug (SWD) Interface -- PSoc5
  14. Spring MVC手札
  15. DevExpress v18.1新版亮点——WinForms篇(二)
  16. 文件上传 accept 兼容性
  17. 关于Python的OSError和IOError
  18. 朴素贝叶斯文本分类实现 python cherry分类器
  19. Centos 软连接和硬链接
  20. Hibernate常用查询语句

热门文章

  1. 在eclipse中安装使用lombok插件
  2. 08-人脸识别-FaceNet-classify.py代码阅读(说明见注释)
  3. jQuery的Promise 这里介绍的很详细
  4. blocking cache和non-blocking cache
  5. c# 关于反射
  6. 8-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(Apache 配置SSL,HTTPS连接)
  7. 记录VUE-CLI项目创建及初始化相关
  8. springboot项目打包成jar/war包
  9. 2018-2019-2 20165313 《网络对抗技术》 Exp 9 Web安全基础
  10. BuaaRedSun团队博客目录——北航社团项目