作者:mobiledu2502886787 | 来源:互联网 | 2022-11-07 22:08
假设我们有以下代码:
public IEnumerator FirstTest()
{
yield return 1;
}
public IEnumerable SecondTest()
{
yield return 1;
}
我知道代码没有逻辑,但是它是有效的,那么“ yield”如何返回不同的类型,FirstTest返回IEnumerator,SecondTest返回IEnumerable?IEnumerator和IEnumerable之间没有继承关系
1> Luke Vo..:
根据C#语言定义,两者均有效yield return
迭代器的声明必须满足以下要求:
返回类型必须为IEnumerable, IEnumerable, IEnumerator, or
IEnumerator
。
该声明不能有任何in ref或out参数。