请问既然Ilist已经继承了ICollection,为何CollectionBase类仍然要同时继承这2个接口?这样做有什么意义?是否多此一举?

.NET技术 > C# [问题点数:40分,结帖人lizhi2925138]
等级
本版专家分:20
结帖率 100%
等级
本版专家分:6563
等级
本版专家分:6563
lizhi2925138

等级:

为什么ICollection已经继承于IEnumerable的了,IList 还要从 ICollection, IEnumerable 继承?

C#集合--ICollection接口IList接口

为了实现这些功能,.NET Framework定义了ICollectionIList和IDictionary接口。每个接口Generic的接口和非Generic的接口,请注意非Generic多数用于支持遗留代码。 这些接口继承挂关系如下图所示: Ge...

ICollection接口IList接口

C#集合--ICollection接口IList接口 虽然列举接口提供了一协议,用于向前的方式遍历集合,但它们没有提供一种机制来确定集合的大小,通过索引访问集合的成员,搜索集合,或修改集合。为了实现这些功能,.NET ...

java中用Ilist接口_JAVA中的List接口

List接口扩展了Collection并声明存储一系列元素的集的特性。使用一基于零的下标,元素可以通过它们在列表中的位置被插入和访问。一列表可以包含复制元素。除了由Collection定义的方法之外,List还定义了一些它...

集合类接口IEnumerable,IEnumerator,ICollection,IList,IDictionary理解

IEnumerator 该接口定义需要实现以下方法: Current:获取集合中的当前元素。 MoveNext:将枚举数推进...实现以上方法的也就意味着这个集合能够被遍历访问。 IEnumerable able意味着这个类能够达到上面IEnumera...

C#学习笔记(七)—–集合--ICollectionIlist接口

ICollectionIlist接口 虽然枚举接口定义了可以迭代集合的方法,但是它们并没有定义确定集合元素多少,根据索引访问集合元素、搜索和修改元素等方法。为了实现这些功能,.NET Framework定义了IColleciton、IList、...

抽象类/实类继承接口后,是否必须全部实现接口的方法?(求高手解答)

以下是IList接口代码 // from module 'c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll'public interface System.Collections.IList :System.Collections.ICollection, System.Collections....

C#中CollectionBase类IList接口的实现

http://www.cnblogs.com/hg98/archive/2007/06/12/780950.html今天看了一下C#中接口的东西,发现对CollectionBase(强类型集合提供... CollectionBase主要显示的实现ICollectionIList接口。具体的显示接口实现,可

C#OOP之八 继承 接口和抽象

在现实生活中所谓的“种瓜得瓜、种豆得豆”的说法,在生物学概念上就是“遗传”的概念,在面向对象中“继承”就类似于生物学中的遗传,通过继承,可以更好的实现代码的重用(复用,多次使用的意思)、增加扩展性、...

IEnumerable、IEnumerator、ICollectionIList、List的继承关系及简单使用

接口在.NET中是非常重要的接口,它允许开发人员定义foreach语句功能的实现并支持非泛型方法的简单的迭代,IEnumerable和IEnumerable<T>接口是.NET Framework中最基本的集合访问器。它定义了一组扩展方法,用来...

C#中IEnumerable、ICollectionIList、List之间的区别

主要介绍了C#中IEnumerable、ICollectionIList、List之间的区别,本文分别分析了它的实现源码,从而总结出了它们之间的关系和不同之处,需要的朋友可以参考下

为什么不从列表继承 <T> ?

When planning out my programs, I often start with a chain of thought like so: 在计划程序时,我通常会像这样思考:

C#中的 IList, ICollection ,IEnumerable 和 IEnumerator

IList, ICollection ,IEnumerable 很显然,这些都是集合接口的定义,先看看定义: 1 // 摘要: 2 // 表示可按照索引单独访问的对象的非泛型集合。 3 [ComVisible(true)] 4 public interface IList : ...

【转】那些年我还不懂:IListICollection,IEnumerable,IEnumerator,IQueryable

好久没写过文章了,渐渐的发现自己懒了,o(︶︿︶)o 唉 懒惰是魔鬼....1、首先看一简单的例子 int[] myArray = { 1, 32, 43, 343 }; IEnumerator myie = myArray.GetEnumerator(); myie.Reset(); whil...

小议CollectionBase类 C#集合

今天看书时,对基于CollectionBase类的自定义集合有点迷惑,查了下MSDN,自己了一些小测试,得出一些心得。 1.IEnumerator,功能:支持对非泛型集合的简单迭代,这个接口有方法(MoveNext,Reset),一属性...

在一个继承体系上定义多相同的接口是基于什么样的理由?

IEnumerable、ICollectionIList接口

1.MoveNext():该方法移动下集合的下一元素上,如果有这个元素,该方法就返回true。如果集合不再更多的元素,该方法就返回false 2.Current:属性Current返回光标所在的元素 3.Reset():该方法将光标重新定位于...

IEnumerable,ICollection,IList接口问题

最近疑问:IList已经继承ICollection<T>,而ICollection<T>继承了IEnumerable<T>, IEnumerable,那为什么IList还要继承IEnumerable<T>, IEnumerable? 于是我自己写了接口测试...

IEnumerable,ICollection,IList,List之间的区别

C#的同学们,都知道,一只能个继承类,但可以实现多个接口句话就告诉我们:IEnumerable,ICollection,IList,List区别了 // 摘要: // 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代。 // // ...

IList, ICollection ,IEnumerable AND IEnumerator in C#

IList, ICollection ,IEnumerable很显然,这些都是集合接口的定义,先看看定义: 1 // 摘要: 2 // 表示可按照索引单独访问的对象的非泛型集合。 3 [ComVisible(true)] 4 public interface IList : ...

IEnumerable ICollection IList

转载于:https://www.cnblogs.com/dongshuangjie/p/6506705.html

CollectionBase类

在命名空间System.Collections下的CollectionBase类 The CollectionBase class exposes the interfaces IEnumerable , ICollection , ...CollectionBase 类有IEnumerable , ICollection , and IList个接口,pro...

IEnumerable接口(2)——C#中的IEnumerable ,ICollectionIList,IQueryable, List

IEnumerable Namespace: System.Collections 最基本的列表容器,连列表项Count都不能...ICollection Namespace: System.Collections IEnumerable 的扩展,增加了添加、删除、更新等操作 可以获取列表项Co...

2021华中杯A第一问配套思路.rar

2021华中杯第一问配套思路,内涵第一问处理后的可读数据,输出结果,可视化图片,RGB转换函数。(R语言代码) 声明:只可自己使用,不可商用。违者必究。 具体思路见:https://tjxwz.blog.csdn.net/article/details/116310441

日志框架commons-logging和Log4j应用

本课程主要讲解日志框架commons-logging和Log4j基本应用和分析,适合于所有java开发人员 通过本课程的学习,基本掌握commons-logging和Log4j的使用;在何种情况使用commons-logging和Log4j

javaweb mooc在线系统案例实战

讲解在线mooc系统的开发,从需求分析到类图设计,数据库设计,架构设计,代码编写等等。 掌握java web开发实战

Java系列技术之Spring5框架

Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。本课讲全面的剖析Spring框架的核心技术,并带大家学会Spring在实际项目的使用方法! Spring的核心的东西讲明白

matlab神经网络30个案例分析

【目录】- MATLAB神经网络30个案例分析(开发实例系列图书) 第1章 BP神经网络的数据分类——语音特征信号分类1 本案例选取了民歌、古筝、摇滚和流行四类不同音乐,用BP神经网络实现对这四类音乐的有效分类。 第2章 BP神经网络的非线性系统建模——非线性函数拟合11 本章拟合的非线性函数为y=x21+x22。 第3章 遗传算法优化BP神经网络——非线性函数拟合21 根据遗传算法和BP神经网络理论,在MATLAB软件中编程实现基于遗传算法优化的BP神经网络非线性系统拟合算法。 第4章 神经网络遗传算法函数极值寻优——非线性函数极值寻优36 对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。这类问题可以通过神经网络结合遗传算法求解,利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。 第5章 基于BP_Adaboost的强分类器设计——公司财务预警建模45 BP_Adaboost模型即把BP神经网络作为弱分类器,反复训练BP神经网络预测样本输出,通过Adaboost算法得到多个BP神经网络弱分类器组成的强分类器。 第6章 PID神经元网络解耦控制算法——多变量系统控制54 根据PID神经元网络控制器原理,在MATLAB中编程实现PID神经元网络控制多变量耦合系统。 第7章 RBF网络的回归——非线性函数回归的实现65 本例用RBF网络拟合未知函数,预先设定一个非线性函数,如式y=20+x21-10cos(2πx1)+x22-10cos(2πx2)所示,假定函数解析式不清楚的情况下,随机产生x1,x2和由这两个变量按上式得出的y。将x1,x2作为RBF网络的输入数据,将y作为RBF网络的输出数据,分别建立近似和精确RBF网络进行回归分析,并评价网络拟合效果。 第8章 GRNN的数据预测——基于广义回归神经网络的货运量预测73 根据货运量影响因素的分析,分别取国内生产总值(GDP),工业总产值,铁路运输线路长度,复线里程比重,公路运输线路长度,等级公路比重,铁路货车数量和民用载货汽车数量8项指标因素作为网络输入,以货运总量,铁路货运量和公路货运量3项指标因素作为网络输出,构建GRNN,由于训练数据较少,采取交叉验证方法训练GRNN神经网络,并用循环找出最佳的SPREAD。 第9章 离散Hopfield神经网络的联想记忆——数字识别81 根据Hopfield神经网络相关知识,设计一个具有联想记忆功能的离散型Hopfield神经网络。要求该网络可以正确地识别0~9这10个数字,当数字被一定的噪声干扰后,仍具有较好的识别效果。 第10章 离散Hopfield神经网络的分类——高校科研能力评价90 某机构对20所高校的科研能力进行了调研和评价,试根据调研结果中较为重要的11个评价指标的数据,并结合离散Hopfield神经网络的联想记忆能力,建立离散Hopfield高校科研能力评价模型。 第11章 连续Hopfield神经网络的优化——旅行商问题优化计算100 现对于一个城市数量为10的TSP问题,要求设计一个可以对其进行组合优化的连续型Hopfield神经网络模型,利用该模型可以快速地找到最优(或近似最优)的一条路线。 第12章 SVM的数据分类预测——意大利葡萄酒种类识别112 将这178个样本的50%做为训练集,另50%做为测试集,用训练集对SVM进行训练可以得到分类模型,再用得到的模型对测试集进行类别标签预测。 第13章 SVM的参数优化——如何更好的提升分类器的性能122 本章要解决的问题就是仅仅利用训练集找到分类的最佳参数,不但能够高准确率的预测训练集而且要合理的预测测试集,使得测试集的分类准确率也维持在一个较高水平,即使得得到的SVM分类器的学习能力和推广能力保持一个平衡,避免过学习和欠学习状况发生。 第14章 SVM的回归预测分析——上证指数开盘指数预测133 对上证指数从1990.12.20-2009.08.19每日的开盘数进行回归分析。 第15章 SVM的信息粒化时序回归预测——上证指数开盘指数变化趋势和变化空间预测141 在这个案例里面我们将利用SVM对进行模糊信息粒化后的上证每日的开盘指数进行变化趋势和变化空间的预测。 若您对此书内容有任何疑问,可以凭在线交流卡登录中文论坛与作者交流。 第16章 自组织竞争网络在模式分类中的应用——患者癌症发病预测153 本案例中给出了一个含有60个个体基因表达水平的样本。每个样本中测量了114个基因特征,其中前20个样本是癌症病人的基因表达水平的样本(其中还可能有子类), 中间的20个样本是正常人的基因表达信息样本, 余下的20个样本是待检测的样本(未知它们是否正常)。以下将设法找出癌症与正常样本在基因表达水平上的区别,建立竞争网络模型去预测待检测样本是癌症还是正常样本。 第17章SOM神经网络的数据分类——柴油机故障诊断159 本案例中给出了一个含有8个故障样本的数据集。每个故障样本中有8个特征,分别是前面提及过的:最大压力(P1)、次最大压力(P2)、波形幅度(P3)、上升沿宽度(P4)、波形宽度(P5)、最大余波的宽度(P6)、波形的面积(P7)、起喷压力(P8),使用SOM网络进行故障诊断。 第18章Elman神经网络的数据预测——电力负荷预测模型研究170 根据负荷的历史数据,选定反馈神经网络的输入、输出节点,来反映电力系统负荷运行的内在规律,从而达到预测未来时段负荷的目的。 第19章 概率神经网络的分类预测——基于PNN的变压器故障诊断176 本案例在对油中溶解气体分析法进行深入分析后,以改良三比值法为基础,建立基于概率神经网络的故障诊断模型。 第20章 神经网络变量筛选——基于BP的神经网络变量筛选183 本例将结合BP神经网络应用平均影响值(MIV,Mean Impact Value)方法来说明如何使用神经网络来筛选变量,找到对结果有较大影响的输入项,继而实现使用神经网络进行变量筛选。 第21章 LVQ神经网络的分类——乳腺肿瘤诊断188 威斯康星大学医学院经过多年的收集和整理,建立了一个乳腺肿瘤病灶组织的细胞核显微图像数据库。数据库中包含了细胞核图像的10个量化特征(细胞核半径、质地、周长、面积、光滑性、紧密度、凹陷度、凹陷点数、对称度、断裂度),这些特征与肿瘤的性质有密切的关系。因此,需要建立一个确定的模型来描述数据库中各个量化特征与肿瘤性质的关系,从而可以根据细胞核显微图像的量化特征诊断乳腺肿瘤是良性还是恶性。 第22章 LVQ神经网络的预测——人脸朝向识别198 现采集到一组人脸朝向不同角度时的图像,图像来自不同的10个人,每人5幅图像,人脸的朝向分别为:左方、左前方、前方、右前方和右方。试创建一个LVQ神经网络,对任意给出的人脸图像进行朝向预测和识别。 第23章 小波神经网络的时间序列预测——短时交通流量预测208 根据小波神经网络原理在MATLAB环境中编程实现基于小波神经网络的短时交通流量预测。 第24章 模糊神经网络的预测算法——嘉陵江水质评价218 根据模糊神经网络原理,在MATLAB中编程实现基于模糊神经网络的水质评价算法。 第25章 广义神经网络的聚类算法——网络入侵聚类229 模糊聚类虽然能够对数据聚类挖掘,但是由于网络入侵特征数据维数较多,不同入侵类别间的数据差别较小,不少入侵模式不能被准确分类。本案例采用结合模糊聚类和广义神经网络回归的聚类算法对入侵数据进行分类。 第26章 粒子群优化算法的寻优算法——非线性函数极值寻优236 根据PSO算法原理,在MATLAB中编程实现基于PSO算法的函数极值寻优算法。 第27章 遗传算法优化计算——建模自变量降维243 在第21章中,建立模型时选用的每个样本(即病例)数据包括10个量化特征(细胞核半径、质地、周长、面积、光滑性、紧密度、凹陷度、凹陷点数、对称度、断裂度)的平均值、10个量化特征的标准差和10个量化特征的最坏值(各特征的3个最大数据的平均值)共30个数据。明显,这30个输入自变量相互之间存在一定的关系,并非相互独立的,因此,为了缩短建模时间、提高建模精度,有必要将30个输入自变量中起主要影响因素的自变量筛选出来参与最终的建模。 第28章 基于灰色神经网络的预测算法研究——订单需求预测258 根据灰色神经网络原理,在MATLAB中编程实现基于灰色神经网络的订单需求预测。 第29章 基于Kohonen网络的聚类算法——网络入侵聚类268 根据Kohonen网络原理,在MATLAB软件中编程实现基于Kohonen网络的网络入侵分类算法。 第30章 神经网络GUI的实现——基于GUI的神经网络拟合、模式识别、聚类277 为了便于使用MATLAB编程的新用户,快速地利用神经网络解决实际问题,MATLAB提供了一个基于神经网络工具箱的图形用户界面。考虑到图形用户界面带来的方便和神经网络在数据拟合、模式识别、聚类各个领域的应用,MATLAB R2009a提供了三种神经网络拟合工具箱(拟合工具箱/模式识别工具箱/聚类工具箱)。

VSCode launch.json配置详细教程

主要介绍了vscode 的node.js debugger 的 launch.json 配置详情,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

SpringBoot实战开发视频

本视频教程包括了SpringBoot的基本使用及SpringBoot如何和各项技术整合。在上述环境下,SpringBoot应运而生。它使用“习惯由于配置”的理念让项目运行起来。使用SpringBoot很容易创建一个独立运行(运行jar,内嵌Servlet容器)准生产级别的基于Spring框架的项目,使用SpringBoot可以不用或只需要很少的Spring配置。 本视频教程包括了SpringBoot的基本使用及SpringBoot如何和各项技术整合。

相关热词 c# 调用exe返回值 c# 交互网站开发 c#串口协议解析 c#list 分页 c#日志记录 c#关键字 yield c# 实现ioc c#基于事件的多线程 c# tar 解压 c#延时1秒