System.Collenctions和System.Collenctions.Generic 中提供了很多列表、集合和数组。例如:List<T>集合,数组Int[],String[] ......,Dictory<T,T>字典等等。但是这些列表、集合和数组的线程都不是安全的,不能接受并发请求。

1.数组

优点:数组在内存中是连续存储的、所以它的索引速度是非常快的、时间复杂度为O(1)、而且它的赋值/修改/获取元素也是非常简单的。

缺点:1、定义数组的时候需要指定数组的长度(过长会造成内存浪费、过短会导致程序异常System.IndexOutOfRangeException:"索引超出数组界限")

   2、插入和删除元素效率低、也比较麻烦。

在不清楚数组长度的时候、就很尴尬了。 所以C#提供了ArrayList了来处理这些问题...

2.arrayList

优点:1、ArrayList大小会根据需要动态增加的数组。

   2、实现了IList接口、可以方便的对数据进行添加、插入和删除。

缺点:1、ArrayList会把插入的数据都当做object类型来存储、在操作数据的时候可能会因为类型不匹配而出现异常、它是非类型安全的对象。

   2、由于存储的是object类型、在使用的时候进行类型转换、会造成装箱拆箱、从而损耗性能。

    装箱:把值类型转换成引用类型;

    拆箱:把引用类型转换成值类型。

3.List<T>

优点:由于泛型List是强类型、编译器会验证类型安全。这样就避免了类型的不安全、以及数据强制转换导致装箱拆箱损耗性能。

最新文章

  1. 利用Hexo搭建个人博客-环境搭建篇
  2. WCF初探-28:WCF中的并发
  3. 小说一下case ~
  4. Android动画的实现原理 .
  5. java-cef系列视频第四集:自定义协议
  6. [转载]DataSet导入到Excel文件
  7. 错误:javax.servlet.jsp.PageContext can not be to a type
  8. Codeforces 549C The Game Of Parity(博弈)
  9. C#编程技术层次
  10. gis-矢量与栅格数据结构的比较
  11. 1.1.2.托管对象模型(Core Data 应用程序实践指南)
  12. ajaxfileupload批量上传文件+图片尺寸限制
  13. socket粗解
  14. IC设计推荐书籍
  15. Python 示例 饮水记录
  16. csv中文乱码
  17. windows 静态IP设置举例
  18. 关于echart柱形图的使用问题
  19. D. Mahmoud and Ehab and the binary string Codeforces Round #435 (Div. 2)
  20. nginx配置web服务器

热门文章

  1. P6823 「EZEC-4」zrmpaul Loves Array
  2. kafka入门之broker-副本与ISR设计
  3. vue微博回调空页面
  4. 【MMT】ICLR 2020: MMT(Mutual Mean-Teaching)方法,无监督域适应在Person Re-ID上性能再创新高
  5. Mysql-索引分析查询性能
  6. Python中sorted(iterable, *, key=None, reverse=False)函数参数定义中的独立星号(*)的含义
  7. Python特殊序列\d能匹配哪些数字?
  8. NET core 添加了新的nuget包,部署出现Could not load file or assembly
  9. CSS基础-Flexbox
  10. v-lazyload数据变化图片不切换