C#IList与List区别[转]

2023-11-18

首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。

 

它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IList<T>可以胜任。

 

不过,更多的时候,我们要对集合数据进行处理,从中筛选数据或者排序。这个时候IList<T>就爱莫能助了。

1、当你只想使用接口的方法时,ILis<>这种方式比较好.他不获取实现这个接口的类的其他方法和字段,有效的节省空间.

2、IList <>是个接口,定义了一些操作方法这些方法要你自己去实现
List <>是泛型类,它已经实现了IList <>定义的那些方法

IList <Class1> IList11 =new List <Class1>()
List <Class1> List11 =new List <Class1>();

这两行代码,从操作上来看,实际上都是创建了一个List<Class1>对象的实例,也就是说,他们的操作没有区别。

只是用于保存这个操作的返回值变量类型不一样而已。

那么,我们可以这么理解,这两行代码的目的不一样。
List <Class1> List11 =new List <Class1>();
是想创建一个List<Class1>,而且需要使用到List<T>的功能,进行相关操作。

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

转载于:https://www.cnblogs.com/muou/archive/2009/06/22/1508060.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#IList与List区别[转] 的相关文章

随机推荐

  • 信息抽取(四)【NLP论文复现】Multi-head Selection和Deep Biaffine Attention在关系抽取中的实现和效果

    Multi head Selection和Deep Biaffine Attention在关系抽取中的应用 前言 Multi head Selection 一 Joint entity recognition and relation ex
  • Hash table and application in java

    查找的效率取决于在查找是比较的次数 次数越少效率越高 反之越低 最理想的情况是无需比较 一次存取便能找到所查找的记录 根据对应关系f找到给定值K的像f K hash function 应运而生 由此思想建的表称为hash table 集合h
  • MySQL 文本字符串

    mysql文本字符串主要包括 CHAR VARCHAR TINYTEXT TEXT MEDIUMTEXT LONGTEXTENUM SET 等类型 char用于储存固定长度的字符串 定长就是电话号码 一般需要声明字符串长度 如果你没有声明它
  • vue基于threejs实现的3D可视化编辑器

    随着5G网络的渐渐普及 物联网在人们的生活中渐渐广泛使用 社会向着越来越智能化的方向发展 当康科技经过不懈努力 研发属于自己的一款3D可视化编辑器 助力企业应用实现3D可视化服务 编辑器界面如下 操作视频演示 3D可视化编辑器v1 0版本完
  • styled-components组件升级v4版本的全局样式踩坑

    注 本文使用ES6 Module模块化 框架选用React 最新版的 styled components v4 已经将原有的 injectGlobal 方法替换成了 createGlobalStyle 而且用法也和之前的 injectGlo
  • C++任意数字类型转 2进制、8进制、16进制

    C 任意数字类型转 2进制 8进制 16进制 平时我们在写程序的过程中会经常碰见进制转换的操作 偶尔写一次还好每次写 我们都又要重新定义函数进行转换 在这里博主就分享一下我自己编写的一个进制转换的方法吧 也比较通用 如没有耐心可以直接跳过思
  • 强化学习笔记3 回报和价值函数

    学习张斯俊和王树森两位大佬的专栏和课程后记的笔记 这篇笔记里面有一些个人理解 如有不对 欢迎大家指正 回报return 上一篇说过奖励reward 奖励是指当前状态S下 选择动作A 环境将会反馈回奖励R 我们利用R作为智能体学习的引导 希望
  • 【laravel5.6】The Process class relies on proc_open, which is not available on your PHP installation....

    部署服务器的时候 使用composer来安装依赖 遇到了 解决办法 在php ini中 找到disable functions选项 看看后面是否有proc open函数被禁用了 如果有的话 去掉即可 转载于 https www cnblog
  • Object.setPrototypeOf()

    Object setPrototypeOf 子对象 父对象 运行结束后 子对象 proto 指向 父对象 setPrototypeOf就是更换对象的 原型对象
  • 矩阵求导常用公式

    矩阵求导常用公式 1 引言 2 向量的导数 2 1 向量对标量求导 Vector by scalar 2 2 标量对向量求导 Scalar by vector 2 3 向量对向量求导 Vector by vector 3 矩阵的导数 3 1
  • 2022-05-14 Unity核心7——2D动画

    文章目录 一 序列帧动画 二 骨骼动画 2D Animation 三 反向动力学 IK 四 换装 五 骨骼动画 Spine 一 序列帧动画 一 什么是序列帧动画 我们最常见的序列帧动画就是我们看的日本动画片 以固定时间间隔按序列切换图片 就
  • 前端实现轮播图

    提示 实现轮播图效果有三种实现方式 一是通过纯css实现 二是通过jQuery实现 三是通过swiper插件实现 tips 可以用自己爱豆的图片 感觉简直不要太好 目录 前言 一 HTML部分 二 JS部分 提示 layer插件 盒子阴影
  • 机器学习或者机器视觉代码讲解视频教程

    当涉及到机器学习和机器视觉的代码讲解的视频教程时 以下是一些常见的在线教育平台和资源 提供了详细的代码讲解 Coursera https www coursera org Coursera上有一些知名的机器学习和计算机视觉课程 例如Andr
  • 小米手机上锁BL锁方法

    1 确保手机处于开发者模式 已打开USB调试 同时按住开机键 音量下键进入fastboot模式 使用usb数据线连接电脑 2 下载官方解锁工具miflash unlock xxxxxxxx zip 3 将miflash unlock xxx
  • NO.0 区块链,之我见前言

    区块链这个词 想必大家不会陌生 在如今爆炸式的信息时代 时不时的会在某个新闻推送 某个朋友圈分享 某个头条等直接或间接 主动或被动的有所耳闻 鉴于本人从事计算机软件开发方面职业的关系 时常会有一些朋友来问我一些关于区块链 比特币 ICO 交
  • 测试用例方法边界值

    测试用例方法边界值 什么是边界值方法 等价类重点是整体是否有效 边界值更多关注数值边界是否有效 边界值编写方法分析思路 1 找到符号产品需求的数值范围 2 确定有效的数值范围 3 根据有效的数值范围查找无效的数值范围 4 编写数值范围对应的
  • APK反编译之一:基础知识

    APK反编译之一 基础知识 本人接触不久 有错误望请各位神牛不吝赐教 仅仅希望把自己这段时间研究的东西分享一下 如果可以帮助到有需要的童鞋万感荣幸 欢迎评论转载 但请加上转载来源谢谢 请尊重开发者劳动成果 请勿用于非法用途 作者 lpohv
  • 自学Java没学历可以找到工作吗?

    除非技术真的diao 炸 天 否则大概率是找不到的 低学历能自学编程的人大有人在 你在搜索引擎上一查 低学历自学编程改变自身命运的不胜枚举 但无一不例外的 每个求学者的叙述都透漏着心酸 艰难困苦 披荆斩棘 这些词 说来容易 听来简单 但真正
  • ctfshow web由一道题的思路实现通杀

    ctfshow萌新计划 根据web1的几个解法思路我实现了对后面几道题的通杀 仔细想想感觉对于我这样的新手来说这几题还不错 题目一 web1 代码很安全 没有漏洞 打开题目很显然这一题考察的是代码审计 我们把代码粘贴下来审计一波
  • C#IList与List区别[转]

    首先IList 泛型接口是 ICollection 泛型接口的子代 并且是所有泛型列表的基接口 它仅仅是所有泛型类型的接口 并没有太多方法可以方便实用 如果仅仅是作为集合数据的承载体 确实 IList