大前端
Unity中迭代器和协程的部分概念
协程本质上也是一个迭代器,为了记录一下今天对二者的学习和巩固记录一下今天的知识点。 首先了解一下迭代器的知识: 迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。C#中使用IEnumerator接口实现,Java中使用Iterator接口实现,其中原理都差不多,下面我就用C#代码来演示下迭代器的实现。 namespace System.Collections//这是C#的迭代器底层方法 { public interface IEnumerator { object Current { get; } // bool MoveNext(); void Reset(); } } Current 是作为返回的正确对象,获取当前下标所指向的对象。如我们foreach时遍历返回的那个正确对象 MoveNext 即是遍历该对象时,检查并确认下一个位置的对象是否为空,如foreach时编译器来判断是否遍历到最后一个 Reset 是我们在多次使用迭代器