C# 在一个生成惰性列表的方法中,如果我什么也不返回会发生什么?

C# 在一个生成惰性列表的方法中,如果我什么也不返回会发生什么?,c#,C#,看来这个代码是有效的。我想知道如果getTest(1) IEnumerable getTest(int n) { 如果(n==0) 收益率1; 其他的 ; } 它将返回一个空但非空的IEnumberable 将方法标记为迭代器后(通过在方法中的任何位置使用yield),它可以执行零个或多个yield returns来返回序列中的数据 事实上,获取空IEnumerable的最简单方法是IEnumerable empty(){yield break;} 或者只需调用Enumerable.Empty(

看来这个代码是有效的。我想知道如果
getTest(1)

IEnumerable getTest(int n)
{
如果(n==0)
收益率1;
其他的
;
}

它将返回一个空但非空的
IEnumberable

将方法标记为迭代器后(通过在方法中的任何位置使用
yield
),它可以执行零个或多个
yield return
s来返回序列中的数据

事实上,获取空IEnumerable的最简单方法是
IEnumerable empty(){yield break;}


或者只需调用
Enumerable.Empty()
它将返回一个空但非空的
IEnumerable

将方法标记为迭代器后(通过在方法中的任何位置使用
yield
),它可以执行零个或多个
yield return
s来返回序列中的数据

事实上,获取空IEnumerable的最简单方法是
IEnumerable empty(){yield break;}


或者只调用
Enumerable.Empty()

它只返回一个空的,尽管是完全“有效”的,可枚举的。一切都如期进行。

它只返回一个空的、尽管完全“有效”的、可枚举的。一切都如期进行。

它不会返回任何项(即可枚举序列的长度为0)。它不会返回任何项(即可枚举序列的长度为0)。我原以为
yield return
是一个短语语法。。。从来没有想到我可以使用
yield
+
break
或其他命令是唯一的其他选项。它立即退出该方法;相当于
返回在一个普通的方法中。我原以为
yield return
是一个短语语法。。。从来没有想到我可以使用
yield
+
break
或其他命令是唯一的其他选项。它立即退出该方法;相当于
返回在普通方法中。
    IEnumerable<int> getTest(int n)
    {
        if (n == 0)
            yield return 1;
        else
            ;
    }