假设我们有以下代码:
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 次 |
最近记录: |