×

迭代器 是什么

迭代器是什么?be based loosely on是什么意思

admin admin 发表于2022-07-12 01:56:43 浏览83 评论0

抢沙发发表评论

迭代器是什么


迭代器(iterator)有时又称游标(cursor)是程序设计的软件设计模式,可在容器(container,例如链表或阵列)上遍访的接口,设计人员无需关心容器的内容。
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。
迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不同之处在于,迭代器是个所谓的复杂的指针,具有遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。因此,每一种容器型都必须提供自己的迭代器。事实上每一种容器都将其迭代器以嵌套的方式定义于内部。因此各种迭代器的接口相同,型号却不同。这直接导出了泛型程序设计的概念:所有操作行为都使用相同接口,虽然它们的型别不同。
功能
迭代器使开发人员能够在类或结构中支持foreach迭代,而不必整个实现IEnumerable或者IEnumerator接口。只需提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,将自动生成IEnumerable接口或者IEnumerator接口的Current,MoveNext和Dispose方法。
特点
1.迭代器是可以返回相同类型值的有序序列的一段代码;
2.迭代器可用作方法、运算符或get访问器的代码体;
3.迭代器代码使用yieldreturn语句依次返回每个元素,yield break将终止迭代;
4.可以在类中实现多个迭代器,每个迭代器都必须像任何类成员一样有惟一的名称,并且可以在foreach语句中被客户端,代码调用如下所示:foreach(int x in SimpleClass.Iterator2){};
5.迭代器的返回类型必须为IEnumerable和IEnumerator中的任意一种;
6.迭代器是产生值的有序序列的一个语句块,不同于有一个 或多个yield语句存在的常规语句块;
7.迭代器不是一种成员,它只是实现函数成员的方式,理解这一点是很重要的,一个通过迭代器实现的成员,可以被其他可能或不可能通过迭代器实现的成员覆盖和重载;
8.迭代器块在C#语法中不是独特的元素,它们在几个方面受到限制,并且主要作用在函数成员声明的语义上,它们在语法上只是语句块而已;
9.yield关键字用于指定返回的值。到达yieldreturn语句时,会保存当前位置。下次调用迭代器时将从此位置重新开始执行。 迭代器对集合类特别有用,它提供一种简单的方法来迭代不常用的数据结构(如二进制树)。

be based loosely on是什么意思

宽松地基于:可能基于...(表示估计或猜测的基础/原因...)分析:基于:基于,...基于...可以安排此同步的基础也可以是baseor userDemand。可以定期执行此同步,也可以根据管理员或用户的需求进行。缓慢在这里,这意味着不严格的投机或估计)

structure是什么意思

n。结构;结构体;建造

VT。建造;建造;组织

1.发音:英语

2.示例:

大多数语言学家会说他们主要关注语言的结构。

大多数语言学家会说,他们主要研究各种语言的结构。

3.词汇:

1.结构是指用作名词时的“结构”。将其转换为动词后,它的意思是“组织”,“布置”和“结构”。

2.结构仅用于名词,代词和代词,可用于被动结构。

扩展资料

同义词:建筑物

一个,意思是:

n。建造

第二,发音:英语

三个示例句子:

热量使建筑物的油漆起泡。

热量导致建筑物上的油漆漂浮。

第四,词汇:

1.建筑物的基本含义是“建筑物”,它可以指出各种目的,大小和形式的建筑物。它是建筑物的一般名称,可以是无数名词。

2.建筑物还可以指“体系结构”,该架构是指无数名词的抽象艺术或行业。

3.当构建用作许多名词时,复数是建筑物。