C#编程中的协程、数据结构与Lambda表达式
1. 委托数组与协程
定时器在完成时调用函数在很多方面都很有用。我们可以对协程进行修改,使其接受一个委托数组。此外,委托还可以有返回类型,以改变协程的行为。
在名为 DoingTheThings()
的 IEnumerator
中,我们有一个参数,它是 ThingsToDo
类型的数组。委托函数在许多不同的情况下都很有用,这里我们将用它们来执行一些非常基本的任务。委托本质上是将函数作为变量进行重定向。
我们可以有更多的变化,但在这个例子中,与 ThingsToDo
委托签名匹配的两个不同函数是 FirstThing
和 SecondThing
。这些函数本身并不复杂,但这并不意味着你的函数不能做更多的事情。
委托 ThingsToDo
作为一种类型可以用作数组。在这个例子中,我们用与委托签名匹配的两个函数填充 someThings
变量。然后我们用 ThingsToDo
数组启动协程 DoingTheThings
。
当协程启动时, FirstThing
和 SecondThing
函数会被同一个协程调用。这些函数按照它们被添加到委托数组的顺序被调用。每个函数返回一个浮点值,用于延迟调用后续的委托。这个系统允许你设置一个动作队列,每个动作可