このメソッドはForEachメソッドの変形版である。ForEachとの違いは、Doメソッドが返したコレクションを列挙した時に初めて、Doメソッドに渡したActionデリゲートが実行されるところだ。DoWhileメソッド。これはSystem.Linq.EnumerableのTakeWhileメソッドに似ているが、DoWhileメソッドの条件判定用Funcデリゲートは列挙している要素を引数に受け取らない。このメソッドは興味深い問題を取り扱う。著者リストと書籍リストを返す検索用Funcデリゲートがあるとする。Forメソッドは著者オブジェクト毎に検索用Funcデリゲートを実行し、得られた書籍リストを連結して返す。Generateメソッド。これはCスタイルのforループを模倣してコレクションを生成するメソッドだ。引数としてループの初期状態、ループの終了条件判定用Funcデリゲート、状態更新用Funcデリゲート、要素生成用Funcデリゲートを受け取る。ステートマシンをIEnumerableオブジェクトとして表す、といった使い方ができそうだ。条件判定用Funcデリゲートと2つのコレクションを受け取り、Funcデリゲートの結果によって受け取った2つのコレクションのうちどちらか一方を返す。コレクションを1つしか受け取らないオーバーロードメソッドもあり、こちらはFuncデリゲートの戻り値がfalseの場合には空のコレクションを返す。Memoizeメソッド。これはソースとなるコレクションの列挙を1度しか行わないようにするためのメソッドで、System.Linq.EnumerableのToListが呼び出し時に必ずソースとなるコレクションの列挙を行ってしまうのに対し、Memoizeは返されたコレクションから要素を取得しようとするまで列挙が行われないという違いがある。参照可能回数を受け取るオーバーロードメソッドを使うと、指定した回数だけアクセスすると要素が内部バッファから削除されるようになる。MinメソッドとMaxメソッド。これらは名前の通りに動作する。MinByメソッドとMaxByメソッドは“最も売り上げの多い顧客を選択”のような表現を可能にするため、引数として各要素から比較に使用するオブジェクトを取り出すための評価用Funcデリゲートを受け取れるようにしたMinメソッド、Maxメソッドである。OnErrorResumeNextメソッド。このメソッドは複数のコレクションの連結を行うためのもので、あるコレクションを処理している時にエラーが発生しても、残りのコレクションの連結処理は継続される。Repeatメソッド。これは単純に同じ値が繰り返されたコレクションを作成するメソッドである。繰り返しの回数を指定することもできるし、無限にすることもできる。繰り返す値は、スカラー値でもコレクションでもよい。このメソッドはコレクションの列挙の途中で例外が発生しても、成功するまで列挙を試みる。リトライ回数を指定することもできる。Returnメソッド。これは引数で指定されたスカラー値を1つだけ含むコレクションを返すメソッドである。このメソッドがあれば、要素数1つの配列を明示的に作成する必要がなくなる。複数のフィールドを合計するのに便利なメソッドである。+=a.Units)のように呼び出すことができる。SkipLastメソッドとTakeLastメソッド。これらはSystem.Linq.EnumerableのSkipメソッド、Takeメソッドのミラーだ。このメソッドは、要素にアクセスしようとすると例外をスローするコレクションを生成する。テストで使うのに便利だ。Smet氏のプレゼンテーションを見てみるとよいだろう。ここから開発版をダウンロードできる。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。