**
数组、List和ArrayList的区别
**
数组
连续存储,索引速度快
缺点不好插入数据
string[] s=new string[3];
//赋值
s[0]="a"; s[1]="b"; s[2]="c";
//修改
s[1]="b1";
ArrayList
继承了IList类,插入删除方便快捷
但是
类型都是object
这就存在了装箱与拆箱的操作,会带来很大的性能损耗
ArrayList list = new ArrayList();
//新增数据
list.Add("abc"); list.Add(123);
//修改数据
list[2] = 345;
//移除数据
list.RemoveAt(0);
//插入数据
list.Insert(0, "hello world");
List
可以泛型
List<*>
提高性能
List list = new List();
//新增数据
list.Add(123);
//修改数据
list[0] = 345;
//移除数据
list.RemoveAt(0);
List不能直接构造
正确:List a ;
错误:List a = new List();
List泛型的好处:
通过允许指定泛型类或方法操作的特定类型,泛型功能将类型安全的任务从您转移给了编译器。不需要编写代码来检测数据类型是否正确,因为会在编译时强制使用正确的数据类型。减少了类型强制转换的需要和运行时错误的可能性。泛型提供了类型安全但没有增加多个实现的开销。