天天看點

yield(C# 參考)

在疊代器塊中用于向枚舉數對象提供值或發出疊代結束信号。它的形式為下列之一:

備注

計算表達式并以枚舉數對象值的形式傳回;expression 必須可以隐式轉換為疊代器的 yield 類型。

yield 語句隻能出現在 iterator 塊中,該塊可用作方法、運算符或通路器的體。這類方法、運算符或通路器的體受以下限制的控制:

不允許不安全塊。

方法、運算符或通路器的參數不能是 ref 或 out。

yield 語句不能出現在匿名方法中。有關更多資訊,請參見匿名方法(C# 程式設計指南)。

當和 expression 一起使用時,yield return 語句不能出現在 catch 塊中或含有一個或多個 catch 子句的 try 塊中。有關更多資訊,請參見異常處理語句(C# 參考)。

示例

在下面的示例中,疊代器塊(這裡是方法 Power(int number, int power))中使用了 yield 語句。當調用 Power 方法時,它傳回一個包含數字幂的可枚舉對象。注意 Power 方法的傳回類型是 IEnumerable(一種疊代器接口類型)。

複制代碼

繼續閱讀