协程:辅助主程序进程
1、关键词 IEnumerator
从定义可以理解,一个迭代器,三个基本的操作:Current/MoveNext/Reset, 这儿简单说一下其操作的过程。在常见的集合中,我们使用foreach这样的枚举操作的时候,最开始,枚举数被定为在集合的第一个元素前面,Reset操作就是将枚举数返回到此位置。
迭代器在执行迭代的时候,首先会执行一个 MoveNext, 如果返回true,说明下一个位置有对象,然后此时将Current设置为下一个对象,这时候的Current就指向了下一个对象。当然c#是如何将这个IEnumrator编译成一个对象示例来执行,
2、迭代器的概述:
1.迭代器是可以返回相同类型的值的有序序列的一段代码。
2.迭代器可用作方法、运算符或 get 访问器的代码体。
3.迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代。有关更多信息,请参见 yield。
4.可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在 foreach 语句中被客户端代码调用,如下所示:
foreach(int x inSampleClass.Iterator2){}
3、迭代器的返回类型必须为:
IEnumerable、IEnumerator、IEnumerable 或 IEnumerator。
注:yield 关键字用于指定返回的值。到达 yield return 语句时,会保存当前位置。下次调用迭代器时将从此位置重新开始执行。
迭代器对集合类特别有用,它提供一种简单的方法来迭代不常用的数据结构(如二进制数)。
4、关键词 Yield
c#中的yield关键词,后面有两种基本的表达式:
yield return
yiled break
yield break就是跳出协程的操作,一般用在报错或者需要退出协程的地方。
yield return是用的比较多的表达式
5、线程
6、进程
Unity协程
最新推荐文章于 2024-02-02 10:18:16 发布