エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
第3回 新しい繰り返しのスタイル - yield return文とForEachメソッド(4/4) - @IT
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
第3回 新しい繰り返しのスタイル - yield return文とForEachメソッド(4/4) - @IT
制約の真相:見た目と違う真実の姿 これまで、反復子ブロックを使った際のいくつかの制約について見てき... 制約の真相:見た目と違う真実の姿 これまで、反復子ブロックを使った際のいくつかの制約について見てきたが、それらはすべて「反復子ブロックは普通のブロックではないから」と説明した。では、具体的にどう違うのだろうか? その疑問に答えるのは難しくない。 見掛け上の姿と真の姿の差は、逆コンパイラ・ツール「Reflector」を使うことで簡単に見ることができるからだ。 実際に、リスト2をデバッグ・ビルドした実行ファイルをReflector for .NETによりC#のソース・コードとして表示させた例を以下に示す。 まず、Rageクラス内に生成されている、元のソース・コードになかった「<GetEnumerator>d__0」というクラスのメンバ一覧(リスト10)を見てみよう。そこにはC# 1.x時代におなじみだったMoveNextメソッドやCurrentプロパティが生成されていることが分かると思う。 [