假设我们有以下代码:
public IEnumerator FirstTest()
{
yield return 1;
}
public IEnumerable SecondTest()
{
yield return 1;
}
Run Code Online (Sandbox Code Playgroud)
我知道代码没有逻辑,但是它是有效的,那么“ yield”如何返回不同的类型,FirstTest返回IEnumerator,SecondTest返回IEnumerable?IEnumerator和IEnumerable之间没有继承关系
根据C#语言定义,两者均有效yield return
迭代器的声明必须满足以下要求:
返回类型必须为
IEnumerable, IEnumerable<T>, IEnumerator, or IEnumerator<T>。该声明不能有任何in ref或out参数。
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |