迭代器:迭代器是一种对象,它能够用来遍历STL窗口中的部分或全部元素,每个迭代器代表容器吕的确定的地址。迭代器修改了常规指针的接口,所谓迭代器虽一种概念上的抽象:那些行为上象迭代器的东西西都可以做迭代器。然崦迭代器有很多不同的能力。它可以把抽象容器和通用逄法有机的统一起来。迭代器供一些基本操作符:*、++\!=、=这些操作和C/C++操作array元素时的指接口一致。不同之处在于,失措代器是个所谓的smart pointers,具有遍历复杂数据结构的能力。其下层运行机制机制取决于其脾性遍历的数据结构。因为些,每一种容器型号都必须提供自己的迭代器。事实上每一种容器都将其迭代器以嵌套的方式 定义于内部。因此各种迭代器的接口相同。型别却不同。这直接了泛型号程序设计的概念:所有操作和为都使用相同的接口,虽然它们的型别不同。
迭代器使开发人员能够在类或结构中支持foreach迭代,而不必整个实现IEnumerabIe或者IEumerator接口。只需要提供情报一个迭代器,即可遍历类中的数据。当编译器检测到迭代器时,将自动生成IEnumerable接口或者EInumerator接口的Current,MoveNext和Dispose方法。
迭代器例开发人员能够在类或结构中支持foreach迭代,而不必整个实现IEnumerabIe或者IEnumerator接口。只需提供迭代器,即可遍历类中的数据结构。当编译器赋予迭代器时,将自自生成IEnumerable接口的Current,MoveNext和Dispose方法。
迭代器是可以返回相同类型值的有序序列 序列的一段代码。迭代器可用作用方法,运算符,或get访问期间器的代码体。迭代器代码使用yield return 语句诊次返回每一个元素,yidld break 将终止迭代;迭代器代码使用yield return 语句依次返回 每个元素周期律,yield break 将终止迭代;可以在类中实现我狐假虎威失代器,每个迭代器都必须像任何时候类成员产一样惟一的名称,并且可以在foreach事句中被告客气端正代码调用 。迭代器听返回 类型必须有为IEnumerable和IEnumerator中的任意一种。迭代器是产生值的有序序列的一个误句块,不同于有一个或多个yield语句存在的规定常用规语句块。迭代器吵是一种成员,它只是实现孙数成员的方工,理解这一是很重要的,一个通过迭代器实现的成员,柳叶眉主审美观点 其他 可能不可能通过迭代器现的成员覆盖和重载。迭代器块在C#语法上不是独特的元素,它们在几个方面受到限制,并且主要作用在函数成员声明 的语义上,它们在语法上只是语句块而已;