在Coroutine中“yield return 0”和“yield return null”之间有什么区别?

时间:2016-09-01 10:12:36

标签: c# unity3d yield coroutine ienumerator

我是新人,对“yield”感到有些困惑。但最后我了解了它如何使用WaitForSeconds

但我看不出“yield return 0”和“yield return null”之间的区别。

他们都在等待下一帧执行吗?

抱歉我的英语不好。非常感谢你。

2 个答案:

答案 0 :(得分:22)

单个帧的yield return 0yield return null都会产生。最大的区别是yield return 0分配内存是因为0的装箱和取消装箱,但是yield return null 分配内存。因此,如果您关心性能,强烈建议您使用yield return null

答案 1 :(得分:-2)

你甚至可以“收益率”;"我认为,关于协程,最终结果是一样的;

收益率回报就像是说"现在将控制权返回给来电者,但是当我再次被召唤时,继续我之前的状态"