2011-08-26 52 views

回答

3

它會返回一個空的,但非空IEnumberable<int>

您標記的方法,迭代器(通過使用yield在任何地方的方法),它可以執行零個或多個yield return s到返回序列中的數據。

實際上,獲得空IEnumberable的最簡單方法是IEnumerable<T> Empty() { yield break; }
或只是致電Enumerable.Empty<T>()

+0

我以爲'yield return'是一個短語語法...從來沒有想到我可以使用'yield' +'break'或其他命令。 – colinfang

+0

'產量突破;'是唯一的其他選擇。它立即退出該方法;相當於'return;'在一個普通的方法中。 – SLaks

1

它只是返回一個空的,儘管完全「有效」,可枚舉。一切都按照預期完成。

相關問題