コース: C#:デザインパターン

無料トライアルでこのコースを視聴する

今すぐ登録して、25,300件以上登録されている、業界エキスパート指導のコースを受講しましょう。

IteratorをC#で実装する

IteratorをC#で実装する - C#のチュートリアル

コース: C#:デザインパターン

IteratorをC#で実装する

Iterator パターンでは、 配列や集合のデータを ひとつずつ取り出して、 そのデータに対して処理を行います。 画面は、Iterator パターンの サンプルコードを クラス図で表現したものです。 IIterator インターフェースが 存在し、 そのインターフェースを実装した SampleIterator があります。 まず、インターフェースの方を 確認しましょう。 インターフェースには HasNext というメソッドがひとつ、 このメソッドは、 次の値が存在するかを 表すブール型の値を返します。 そして、 get だけが存在する プロパティ Next があります。 インターフェースを実装した SampleIterator も見てみましょう。 SampleIterator では、 コンストラクタで データを作成します。 items という プライベートなコレクションに データをプッシュしていきます。 コレクションはスタックを 利用しています。 そして、Next プロパティでは、 items の Pop メソッドを呼び出して 要素をひとつ返しています。 HasNext では、 items がひとつ以上 存在している場合、 true を返します。 最後に、この Iterator を 利用しているコードを確認しましょう。 Program クラスの Main メソッドで Iterator を作成しています。 IIterator 型の 変数に SampleIterator クラスの インスタンスを代入します。 続いて while 文で Iterator.HasNext というメソッドで Iterator に要素があるかを確認し、 true の場合、 要素が存在する場合は、 Console.WriteLine で その値を出力しています。 実際にプログラムを実行してみましょう。 プログラムを実行した結果です。 このようにひとつずつ 取り出した値が出力されていることが わかります。 このように、Iterator では、 コレクションや配列のような データの集合を扱い、 ひとつずつその要素を 取り出すことができます。

目次