I可数(ienumerable)和电子计算器(ienumerator)的区别

IEnumerable和IEnumerator都是C#中可用的接口。前者是模块,后者是对象。...

IEnumerable和IEnumerator都是C#中可用的接口。前者是模块,后者是对象。

IEnumerable生成IEnumerator。这里GetEnumerator用于获取IEnumerator。Foreach循环用于生成使用枚举器的代码。枚举数不同于IEnumerator,因为IEnumerator是一个接口。枚举器实现它。

I可数(ienumerable) vs. 电子计算器(ienumerator)

IEnumerable和IEnumerator之间的区别是IEnumerable适用于泛型接口,IEnumerator适用于所有非泛型接口。IEnumerable指向一个可以枚举的对象,但IEnumerator是使用每个迭代语句实现的。IEnumerable接口使用IEnumerator对其所有元素进行迭代,使用for each语句。

I可数(ienumerable)和电子计算器(ienumerator)的区别

IEnumerable用于查找用作接口的对象。它用于集合中所有元素的迭代。迭代过程使得在集合中遍历更容易。它就像一个物体。GetEnumerator是用于实现IEnumerator接口的方法。

IEnumerator有两个方法,Reset()和MoveNext(),并且有一个扩展属性,称为Current。MoveNext()是一个方法,它生成一个布尔值,指出列表的结束元素。reset方法使枚举数成为其默认位置。

比较参数 I可数 迭代器
接口类型 泛型 非泛型
方法数 一个 两个
退换商品 迭代器 目标
游标状态 无法保留 可以保留
产品 枚举对象 对于每个语句结果
写作方式 摘要 混凝土

ienumerable与ienumerator对照表

什么是I可数(ienumerable)?

这是一个由可枚举类实现的接口。c#中的整个集合可以实现IEnumerable接口。它返回IEnumerator。它不会根据代码中使用的访问说明符而更改。IEnumerable有一个名为GetEnumerator的方法。这个实现只在类内部完成。

迭代过程使得在集合中遍历更容易。它就像一个物体。GetEnumerator是用于实现IEnumerator接口的方法。IEnumerable通常被称为通用接口,因为代码编写得非常小,因为它只需要一次性实现。在代码实现中使用多少构造函数来迭代所有元素并不重要。

由于对代码的修改是在一个平台下进行的,因此代码的维护性很低,不需要任何额外的更改。它使用抽象来迭代数组中的所有元素。它使用IEnumerator迭代器,用于所有元素的迭代。因为它是一个泛型类,所以它很容易对数组中的元素进行迭代。它提供了一个公共接口。它用于所有非泛型类。

什么是电子计算器(ienumerator)?

它有两种方法来实现集合中所有元素的迭代。它有两种方法:MoveNext和Reset。MoveNext是一个方法,它指出迭代尚未到达集合的最后一个元素。

重置方法的作用与听起来的相同。指出在上一次迭代完成后,要重新开始迭代,直到数组的最后一个元素。最后,一个对象是Current,它给出当前元素作为迭代的结果。它对其元素有一些特定的访问权限。它只提供对其all数组的只读访问。

IEnumerator调用current属性,该属性负责返回列表中当前正在使用的元素。它使用两种方法和对象的属性进行迭代。每个语句使用数组列表,并通过向前移动开始迭代,并使用其中一个方法。IEnumerator无法返回IEnumerable。

它可以很容易地恢复光标的当前状态。IEnumerator使用具体的书写方式。它通过迭代堆栈的第一个元素并结束于堆栈的最后一个元素来开始堆栈中的迭代。

ienumerable和ienumerator的主要区别

  1. IEnumerable用于泛型接口,但IEnumerator用于非泛型接口。
  2. IEnumerable只有一个方法,而IEnumerator只有两个方法。
  3. IEnumerable可以返回IEnumerator,但IEnumerator不能返回IEnumerable。
  4. IEnumerable无法保留光标的当前状态,但IEnumerator可以保留。
  5. IEnumerable显示一个枚举对象,而IEnumerator为每个语句都显示一个。
  6. IEnumerable是一种抽象的书写方式,但IEnumerator使用的是一种具体的书写方式。

结论

IEnumerable是由可枚举类实现的接口。它使用抽象来迭代数组中的所有元素。它使用IEnumerator迭代器,用于所有元素的迭代。IEnumerator调用current属性,该属性负责返回列表中当前正在使用的元素。

它使用两种方法和对象的属性进行迭代。IEnumerable通常被称为通用接口,因为代码编写得非常小。IEnumerator使用具体的书写方式。GetEnumerator是用于实现IEnumerator接口的方法。

迭代过程使得在IEnumerable中遍历集合更容易。它就像一个物体。MoveNext是一个方法,它生成一个布尔值,指出列表的结束元素。IEnumerable在迭代过程中返回IEnumerator接口。

它们都用于迭代过程,遵循不同的迭代方式。它使用迭代器迭代堆栈数组中的所有元素。它彼此不同,一个使用抽象,另一个使用具体的代码。它有不同的方法和属性来获取游标的状态并维护堆栈的迭代。

参考文献

  1. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.73.3969&rep=rep1&类型=pdf#页码=149
  2. https://ieeexplore.ieee.org/abstract/document/7883396/

  • 发表于 2021-07-11 18:05
  • 阅读 ( 124 )
  • 分类:IT

你可能感兴趣的文章

许多的(much)和很多(a lot of)的区别

...定意义。在所有这些句子中,你可以看到much这个词与不可数名词连用。换句话说,你可以说much这个词与不可数名词连用,比如money、trouble和milk。 很多是什么意思? 另一方面,在下面给出的句子中,大量的表达用于可数名词和...

  • 发布于 2020-10-16 08:59
  • 阅读 ( 220 )

许多的(much)和许多的(many)的区别

...单词manig。 多意味着什么? much这个词通常被用作带有不可数名词的形容词,如下所示: 我做了很多努力来解决这个问题。 他给了她很多支持。 在第一句中,much一词与不可数名词连用,即efforce;在第二句中,much与不可数名词...

  • 发布于 2020-10-24 00:08
  • 阅读 ( 136 )

通用(generic)和c中的非泛型集合#(non-generic collection in c#)的区别

...ArrayList、SortedList、Stack、Queue和HashTable。每个集合类实现IEnumerable接口。它有助于使用foreach循环遍历集合中项的元素。 ArrayList是数组的一种替代方法。如果有一个数组可以存储10个元素,它就不能存储20个元素。如果数组初始化...

  • 发布于 2020-10-24 01:08
  • 阅读 ( 334 )

名词(noun)和代词(pronoun)的区别

...来很相似。 名词被分成各种各样。它们包括专有名词、可数名词、不可数名词、集合名词、复数名词和复合名词。纽约是专有名词,table是计数名词,held是集合名词,scissors是复数名词,blackboard是复合名词。 什么是代名词(a pron...

  • 发布于 2020-11-04 18:20
  • 阅读 ( 822 )

可数的(countable)和不可数名词(uncountable nouns)的区别

可数名词与不可数名词 对于母语非英语的英语学习者来说,可数名词和不可数名词一直是一个令人费解的话题,因为它们之间的区别有点难以理解。因为英语本族语中的名词是不可数名词。这是一个需要记住的重要点,因为...

  • 发布于 2020-11-06 12:37
  • 阅读 ( 529 )

很少的(few)和一些(some)的区别

...另一个主要区别是它们在名词上的用法。”“少”适用于可数对象,而“一些”同时适用于可数对象和不可数对象。作为限定词,它们都被归类为一般决定词,因为它们都迎合不可数名词。 除了是限定词和量词外,“少”和“...

  • 发布于 2021-06-24 07:11
  • 阅读 ( 192 )

许多的(much)和许多的(many)的区别

...”的区别是很重要的。much和many的主要区别在于much用于不可数名词,many用于可数名词。 很多-意义和用法 Much可用作限定词、形容词、副词或代词。多意味着更大的数量或很大的程度。这通常用于不可数名词。不可数名词是不可...

  • 发布于 2021-06-27 05:51
  • 阅读 ( 202 )

小的(little)和一点(a little)的区别

主要区别-小与小 Little和Little是用于不可数名词的两个量词。“少”与“少”的主要区别在于,“少”指的是几乎没有或不多,而“少”指的是一些或足够小。本文将通过分别考察这两个量词来进一步阐明这一区别。 “...

  • 发布于 2021-06-27 06:48
  • 阅读 ( 170 )

较少的(less)和较少的(fewer)的区别

...以英语为母语的人误用。根据语法规则,lew用于人和其他可数事物,less用于不可数名词,包括大量名词。这可以看作是少与少的主要区别。 less–含义和用法 少就是少;不多。它通常用于不能计数的对象;它可以与无法计数的...

  • 发布于 2021-06-27 11:12
  • 阅读 ( 327 )

另一个(another)和其他(other)的区别

...是“另一个”用于单数名词,而“另一个”用于复数或不可数名词。 另一个-含义和用法 另一种是限定词和代词,用于单数、可数名词。另一种可能有两种含义。看下面的两句话来理解它们。 例1 希拉又买了一辆车。 在这个句...

  • 发布于 2021-06-27 13:07
  • 阅读 ( 119 )
lj783850
lj783850

0 篇文章

相关推荐