C#基础List与ArrayList

List与ArrayList的区别

1.List因为指定了类型所以不存在装箱与拆箱的问题;ArrayList是先将类型转为object类型(装箱)才能插入到集合里,然后读取时再转为相对应的类型(拆箱)

2.list只能存储同一种类型的数据;ArrayList可以存储多种不同的数据类型

3.list因为不需要装箱和拆箱,所以效率高;ArrayList效率低

4.List在使用时候需要导入的using指令为using System.Collections.Generic;ArrayList在使用的时候需要导入的using指令为using System.Collections;

5.List属于泛型集合 ArrayList属于非泛型集合

6.ArrayList存在类型安全问题,开发中能不用就不用

例子

List:

var list = new List<int>();

list.Add(100);
//list.Add("100");//无法进行类型转换
var num = list[0];
foreach (var item in list)
{
     Console.WriteLine(item);
}
Console.ReadLine();

ArrayList:

var list = new ArrayList();

list.Add(100);//装箱
list.Add("100");//装箱
int num = (int)list[0];//拆箱--不进行强制转换,返回的是object类型
foreach (var item in list)
{
    Console.WriteLine(item);
}
Console.ReadLine();

 

ArrayList类型安全:

var list = new ArrayList();

list.Add(100);
list.Add("string");

list.Add(new MyClass());//添加对象

foreach (int item in list)
{
    Console.WriteLine(item);
}
Console.ReadLine();

集合中的元素无法都强制转为int,所以会抛出错误

而在泛型类List<T>中T定义了类型,所以是不能添加其它类型的数据的,保证了类型安全

 

转载于:https://www.cnblogs.com/ycywyy/p/10916813.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值