コース: C#エンジニアのための10のテクニック

今すぐコースを受講しましょう

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

階層化されたコレクションSelectManyを利用する

階層化されたコレクションSelectManyを利用する - C#のチュートリアル

コース: C#エンジニアのための10のテクニック

階層化されたコレクションSelectManyを利用する

コレクションの要素が、 さらに配列やコレクションを持つ場合、 その値を取り出すには、 繰り返しを2回行う必要があります。 しかし、リンクの セレクトメニューを利用すると、 一度の繰り返しで取得できます。 画面は LINQPad という ツールを使用しています。 LINQPad は、 このように、クラスの記述なしに プログラムを書き始めることができたり、 便利な Dump といった メソッドを備えていて、 シンプルなプログラムコードを 手軽に実行するのに向いた ソフトウェアです。 プログラムコードの実行自体は、 Visual Studio で 実行することも可能です。 まず、HistoryCalendar という クラスを用意します。 このクラスは、 コードの下で定義されており、 string 型のプロパティと もうひとつ、Int 型のリスト、 Years を持っています。 この Years のデータを取り出したい というケースを考えます。 まず、HistoryCalendar 型の リストを用意し、 それぞれ値を設定します。 問題となる Years には、 Enumerable の Range メソッドで 1970 から 10 個の値、 1971、1972 といった 値を入れています。 もうひとつのインスタンスでも、 今度は 1980 年から 10 個の値を生成しています。 最後に、この値を リンクで取得して、 Dump メソッド、 これは LINQPad によって 追加された、便利なメソッドです。 を実行して、 値を出力しています。 それでは、実行して、 値がどのように表示されるか 確認してみましょう。 プログラムが実行されると、 このように Dump は、 中身をわかりやすく表示してくれます。 まず、Seventies、Eighties という 2つの配列があり、 その中にさらに Int 型のリストが 格納されていることもわかります。 このように、LINQPad では、 値を視覚的にわかりやすく 表現してくれます。 それでは、Select メニューを 利用してみましょう。 先ほどの Select で取得していた コードをコメントアウトし、 新しく Select メニューを 利用するコードを、記述しました。 Select メニューでは、 Select の値を…

目次