C#数组和list、arraylist的区别?

C#数组和 list 和 arraylist 的区别?
数组:是存储同类型数据列表,数组在内存中是连续存储的。优点:存储、修改、读取速度快。缺点:初始化需要指定长度,无法扩展,插入数据麻烦。.

string[] s=new string[3];
//赋值
 s[0]="a"; s[1]="b"; s[2]="c";
//修改
 s[1]="b1";

ArrayList:ArrayList是.Net Framework提供的用于数据存储和检索的专用类,它是命名空间System.Collections下的一部分。它的大小是按照其中存储的数据来动态扩充与收缩的。优点:可扩展,无指定长度,可插入删除

缺点:因存储不同类型,执行装箱拆箱操作,读取、存储速度慢。

ArrayList list = new ArrayList();
//新增数据
 list.Add("abc"); list.Add(321);
//修改数据
 list[2] = 123;
//移除数据
 list.RemoveAt(0);
//插入数据 
list.Insert(0, "hello world!");

List:在数组和ArrayList基础上优化,存储通用类型数据列表。优点:可扩展示,初始化无需指定长度,可插入指定位置数据

List<int> list = new List<int>();
//新增数据
 list.Add(12311);
//修改数据 
list[0] = 3251;
//移除数据
list.RemoveAt(0);