在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前段时间 用C# 来写 Unity3D(一款游戏引擎) 中的行为脚本. 其中有一个非常重要的概念是"协同程序", 我的理解就是用来完成一系列的有先后顺序的操作.比如做为一个动画后.等上一段时间 再进行下一步操作. 它的好处在于 可以不影响当前的时间线类似于单开一个线程一样的来完成这个工作. 在Unity3D中完成协同程序的操作是这样的.用StartCoroutine(method());的方法来调用,method方法必须返回一个IEnumerator类型的方法:IEnumerator Fun() {yield return ...}. 所以想了解一下 IEnumerable IEnumerator yield 这几个关键字.在C#中的功能都是什么? 通过在网上的资料了解到 就是为了让类可以用foreach来遍历. 想用foreach遍历类,类主要是需要有返回IEnumerator 类型的方法 . 不一定继承IEnumerable接口(虽然不在代码中明确的写上实现 IEnumerable 也是没有问题的. 但写上还是规范些. 别人能看懂.鼓励写上.).. 只有这个方法即可. 而这个方法的实现可以有两种情况. 一种是自己去实现接口中的方法 Current MoveNext() Reset(),还有一种就是用yield return .. 方法 . 他会自动的产生IEnumerator 的那三个方法. 所以非常的方便实用..:
View Code
1 using System; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论