C# の yield return の挙動
kawa.xxx
yield って?
単純な英単語として日本語訳すると、(作物、製品などを)産する、(結果などを)引き起こす、譲る。という意味の単語のようです。
どうやって使うの?
C#のキーワードとしての yield は、 IEnumerable
雑ですが簡単なサンプルを。
サンプルのように yield return を含むブロックのことを イテレーターブロックと言います。
GetNameの戻り値にある通り、IEnumerable
実行結果を見てもわかると思いますが、yield return はその時点で処理を終了させません。
LINQPadで実行すると下記のようになります。
今回は yield return をベタで2つ書きましたが、 foreach などループの中に書いても同じようになります。

- 作者: ビル・ワグナー,鈴木幸敏
- 出版社/メーカー: 翔泳社
- 発売日: 2011/02/16
- メディア: 大型本
- 購入: 12人 クリック: 73回
- この商品を含むブログ (13件) を見る
参考文献
- http://tyheeeee.hateblo.jp/entry/2013/08/07/C%23%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8Byield_return%E3%81%AE%E6%8C%99%E5%8B%95
- https://msdn.microsoft.com/library/9k7k7cf0.aspx
- http://ufcpp.net/study/csharp/sp2_iterator.html
ABOUT ME