在迭代器塊中用於向列舉數物件提供值或發出迭代結束訊號。它的形式為下列之一:
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...