IList与List的区别

List是一个类(Class),IList是一个接口(Interface),不能被实例化,只能用 IList <T> myIList =new List <T>(); 

List <Class1> List11 =new List <Class1>(); 创建一个List <Class1>,而且需要使用到List <T>的功能,进行相关操作。

IList <Class1> IList11 =new List <Class1>();创建一个基于接口IList <Class1>的对象的实例,只是这个接口是由List <T>实现的。它只是希望使用到IList <T>接口规定的功能而已。

 使用场景:
IList:当你建立一个方法,希望可以接收不同类型的参数时,建议用接口,当然你得考虑内部的逻辑是不是可以通过接口解决,如果还要进行数据分析或者别的什么,就是接口满足不了的时候,还是老老实实的用会具体的参数。

List<T>:做方法返回值很合适,因为要对结果进行迭代、分析、查询等等,它都能满足你,还不用你转来转去,减少装箱拆箱。

鼓励使用接口 ,这样可以实现功能和具体实现的分离 (接口实现松耦合,有利于系统的维护与重构),实现接口分离的原则 ,不是看实际需要用的。


 




 



转载于:https://www.cnblogs.com/chenh/p/7894852.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值