zoukankan      html  css  js  c++  java
  • 【原】浅析IList与List的区别

     

    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规定的那些)

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

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

    作者:Tony zhao 

    本文出处:http://www.cnblogs.com/ytaozhao    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    java面试题2
    java面试题
    查询数据库表字段名和字段类型等信息
    安装eclipse
    redis启动
    eclipse离线安装sonarlint插件
    大白菜安装win10系统
    制作window.ios镜像
    大白菜装机系统
    传递中文字符串时,转换编码格式
  • 原文地址:https://www.cnblogs.com/ytaozhao/p/2643537.html
Copyright © 2011-2022 走看看