看到相关知识点大概用自己的语言在这儿记一下,也算巩固一下吧。
协程顾名思义就是协同程序,对主程序起辅助作用。
首先提到的关键字是IEnumerator,也就是迭代器(枚举器),迭代器模式是设计模式中行为模式(behavioral pattern)的一个例子,他是一种简化对象间通讯的模式,也是一种非常容易理解和使用的模式。简单来说,迭代器模式使得你能够获取到序列中的所有元素而不用关心是其类型是array,list,linked list或者是其他什么序列结构。这一点使得能够非常高效的构建数据处理通道(data pipeline)--即数据能够进入处理通道,进行一系列的变换,或者过滤,然后得到结果。举个简单例子来说,foreach就是迭代器的封装。
C#的foreach语句隐藏了枚举数的复杂性,因此,建议使用foreach,而不是直接操作枚举器。
迭代器最重要的一个功能就是Next,一个函数,用我们的话就是下一个。此时需要提到协程的另一个关键字,yield。yield这个关键字可以理解为暂停。这里粘贴一段最简单的协程代码。(在unity内写的)
void Start()
{
StartCoroutine(Wait(10));
}
IEnumerator Wait(float t)
{
yield return new WaitForSeconds(t);
Debug.Log(System.DateTime.Now);
}
以上代码意思就是开启一个协程,在10s后打印出系统时间。
yield这个