迭代器塊中yield 語句

2021-05-08 07:47:44 字數 974 閱讀 4444

在迭代器塊中用於向列舉數物件提供值或發出迭代結束訊號。它的形式為下列之一:

yield return ;

yield break;

備註

計算表示式並以列舉數物件值的形式返回;expression

必須可以隱式轉換為迭代器的 yield 型別。

yield語句只能出現在iterator塊中,該塊可用作方法、運算子或訪問器的體。這類方法、運算子或訪問器的體受以下約束的控制:

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

當和 expression

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

示例

在下面的示例中,迭代器塊(這裡是方法 power(int number, int power)

)中使用了yield語句。當呼叫power方法時,它返回乙個包含數字冪的可列舉物件。注意power方法的返回型別是ienumerable(一種迭代器介面型別)。

// yield-example.cs

using system;

using system.collections;

public class list

}static void main()

", i);}}

}

輸出
2 4 8 16 32 64 128 256

yield迭代器的使用

class program foreach var item in query console.writeline 未使用迭代器 end foreach var item in query console.writeline 使用迭代器 end console.readkey public stat...

ruby 塊 和 迭代器

塊 塊由大量的 組成。您需要給塊取個名稱。塊中的 總是包含在大括號 內。總是從與其具有相同名稱的函式呼叫。這意味著如果您的塊名稱 為 test 那麼您要使用函式 test 來呼叫這個塊。您可以使用 yield 語句來呼叫塊。語法block name 在這裡,您將學到如何使用乙個簡單的 yield 語...

C 乙個特殊的迭代語句 yield

yield 在語句中使用該關鍵字,表示出現的方法 運算子或者getter訪問器是乙個迭代器,使用 yield定義迭代器不需要額外的顯示定義型別 依次返回每乙個元素 yield return 語句結束迭代 yield break 返回型別必須為ienumerable,ienumerable,ienum...