C#中的迭代器 和 Unity中的协程
2021-01-19 00:24
标签:数组 为什么 this http set void size 很多 string C#中的迭代器封装在IEnumerable和IEnumerator和他们的泛型接口中。 IEnumerable:定义了一个可以获取IEnumerator的方法---GetEnumerator()。 IEnumerator:则在目标序列上实现循环迭代,直到不再需要数据。常见的foreach循环就是使用这个接口 但是为什么会有两个接口呢?为什么不直接让IEnumerable实现所有方法呢? C#中的数组和集合都是继承了IEnumerable接口的,所以我们可以直接使用。 自定义类中使用迭代器。 进程: 线程: 协程: Unity的协程系统是基于C#的一个简单而强大的接口 ,IEnumerator。 详细请看大佬: C#中的迭代器 和 Unity中的协程 标签:数组 为什么 this http set void size 很多 string 原文地址:https://www.cnblogs.com/Fflyqaq/p/12909866.html
1、C#迭代器
1.1、IEnumerable和IEnumerator
//IEnumerable的代码实现
public interface IEnumerable
{
IEnumerator GetEnumerator();
}
//IEnumerator的代码实现
public interface IEnumerator
{
///
为了不违背单一职责原则。如果有几个嵌套的foreach循环,那么彼此就可能会收到影响了。1.2、迭代器使用
static void Main(string[] args)
{
int[] arr = new int[5] { 12, 65, 749, 16, 49 };
//foreach (int item in arr)
//{
// Console.WriteLine(item);
//}
#region 和上面的foreach相同
IEnumerator e = arr.GetEnumerator(); //获取要迭代的对象
while (e.MoveNext()) //一个一个的读取元素,读取完会返回false
{
Console.WriteLine(e.Current); //输出读取内容
}
#endregion
}
///
2、Unity中的协程
2.1、进程 线程 协程介绍
2.2、协程使用
https://blog.csdn.net/huang9012/article/details/38492937
上一篇:Spring事务管理中的配置文件
下一篇:JAVA静态代理和动态代理理解
文章标题:C#中的迭代器 和 Unity中的协程
文章链接:http://soscw.com/index.php/essay/43866.html