博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 数组、ArrayList和List
阅读量:5060 次
发布时间:2019-06-12

本文共 1231 字,大约阅读时间需要 4 分钟。

在C#中数组,ArrayList,List都能够存储一组对象。

一、数组

声明:数据类型[] arrayName = new 数据类型[int Length];||数据类型[] arrayName   = new 数据类型[]{aa,bb,cc,dd};

取赋值:obj = arrayName[index];arrayName[index] = obj;

特性:在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。需指定长度

适用场景:在清楚数组长度以及长度固定使使用。

 

二、ArrayList

声明:ArrayList arrayList= new ArrayList();  

操作:arrayList.Add(obj);//添加对象  arrayList.RemoveAt(index);//移除对象 arrayList.Insert(index, obj); //插入对象  arrayList[index] = obj; //赋值||修改值  obj = arrayList[index] ;//取值

特性:ArrayList是命名空间System.Collections下的一部分,在使用该类时必须进行引用,同时继承了IList接口,提供了数据存储和检索。ArrayList对象的大小是按照其中存储的数据来动态扩充与收缩的。所以,在声明ArrayList对象时并不需要指定它的长度

适用场景:因为ArrayList对数组内的对象没有类型的要求,所以可能存在数组内对象不是同一种类型,也就是ArrayList不是类型安全的。在存储或检索值类型时通常发生装箱和取消装箱操作,带来很大的性能耗损。所以我们在不清楚数组长度以及数组内的对象数据类型是否统一时使用。

 

三、泛型List

声明:List<T> arrayList= new List<T>();  

操作:arrayList.Add(obj);//添加对象  arrayList.RemoveAt(index);//移除对象 arrayList.Insert(index, obj); //插入对象  arrayList[index] = obj; //赋值||修改值  obj = arrayList[index] ;//取值

特性:List类是ArrayList类的泛型等效类,它的大部分用法都与ArrayList相似,因为List类也继承了IList接口。最关键的区别在于,在声明List集合时,我们同时需要为其声明List集合内数据的对象类型。

适用场景:我们在清楚数组长度以及数组内的对象数据类型是否统一时使用。

 

写在后面:数组的容量是固定的,而ArrayList和List的容量可以根据需求进行修改。List相对于ArrayList在使用值类型使的装箱拆箱操作更节省性能消耗。

转载于:https://www.cnblogs.com/UnrealEra/p/7016955.html

你可能感兴趣的文章
MVC系列博客之排球计分(三)模型类的实现
查看>>
npm安装
查看>>
阅读笔记02
查看>>
2019年春季学期第二周作业
查看>>
2014北邮计算机考研复试上机题解(上午+下午)
查看>>
mySQL 教程 第7章 存储过程和函数
查看>>
OGG同步Oracle到Kafka(Kafka Connect Handler)
查看>>
算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
查看>>
idea的maven项目无法引入junit
查看>>
jquery实现限制textarea输入字数
查看>>
thinkphp5 csv格式导入导出(多数据处理)
查看>>
页面置换算法-LRU(Least Recently Used)c++实现
查看>>
如何获取Android系统时间是24小时制还是12小时制
查看>>
fur168.com 改成5917电影
查看>>
PHP上传RAR压缩包并解压目录
查看>>
codeforces global round 1题解搬运
查看>>
python os模块
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
jenkins常用插件汇总
查看>>
c# 泛型+反射
查看>>