浅析IList与List的区别

本文对比分析了.NET框架中List和IList两种类型的差异。IList作为接口,规定了泛型列表的基本方法;List则是IList的一个实现,提供了更多的自定义方法。文中还探讨了在实际开发中使用接口而非具体实现类的优点。

List和IList是.net开发中经常遇到的两种类型,用法上经常会让初学者摸不到头脑,下面简要的分析一下这两种类型的区别

1、IList<T>是接口,继承自ICollection<T>和IEnumerable<T>,是所有泛型列表的基接口,其中规定了一些方法声明。

     List继承了IList并实现了IList规定的那些方法,同时也实现了许多自定义的新方法。

2、既然IList是接口,就不能用new关键字去直接实例化,但是可以用多态的方式去实例化,也就是用其子类(List)去实例化。

     IList<string> Ilist1=new List<string>()    (简记作①)

     你可能会有疑问,这样作与 List<string> list1=new List<string>()   (简记作②)     有什么区别呢?

     当然是有区别的:

      首先,①创建了一个list,但是这个list只能用到IList接口中规定那些方法,因为这些方法在List类型中实现了的,所以可以用。

               ②也创建了一个list,这个list可以用List类型中实现的所有方法(当然包括IList规定的那些)

      其次,推荐使用哪个呢? 答:①

               因为在面向对象的思想里,推荐使用接口,可以实现松耦合,有很好的扩展性,功能与具体实现很好的分离开,有利于系统的维护与重构。

 

 

转载于:https://www.cnblogs.com/cnki/p/5147960.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值