Visual Basic 入門

Join, GroupJoinを使う

LinkedInラーニングの無料トライアルを今すぐ試そう

無料で視聴する すべての加入プランを見る
このレッスンでは、複数のコレクションを対象に結合操作を行う事が出来る、JoinとGroupJoinについて説明します。
05:20

字幕

このレッスンでは、複数のコレクションを対象に結合操作を行なうことができる、Join と Group Join について説明します。始めにこちらのソースコードをご覧下さい。3行目から定義されているMyData 構造体では、Id および Score のプロパティを持っています。また 12 行目から始まるMyName 構造体ではId および Name というプロパティを持っています。そして 22 行目からではそれぞれ MyData のレコードを27 行目から始まるコードでは、MyName のレコードをそれぞれ初期化しています。この Score と Name について、Id が等しいもの同士を結合するにはJoin 句を使用します。クエリ式で Join 句を使うには、まず From 句から始めた後Join そしてその後に結合対象のデータ、さらにその結合対象のデータの中で、その要素を受け取るための仮引数そしてその仮引数と結合元のデータとのフィールドをそれぞれ、On と Equals の後で指定を行ないます。この場合では names の中の要素name に対してその Id 、および scores の中の要素score についてその Id を比較し、等しければ結合を行なう、という操作を行なっています。 また Select では、それぞれ Id, Name, Scoreを結合した文字列を返すようにしています。ではこれを実行してみましょう。そうすると、まず Scores にはId が 1, 2, 5 しかいません。また Names には Id が1 から 5 までの人がいます。Join 句は両方のテーブルにキーが存在する場合のみ、結合を行なう内部結合ですので、この時結果には 1, 2, 5 しか表示されません。また 1, 2, 5 はそれぞれ完全なデータが整っています。では次に Group Join を使った場合はどうなるでしょうか。Group Join を使った場合も、names と scores に対して同じく結合操作を行なうことができますが、これは左外部結合とほぼ同様の操作を行なうクエリです。始めに From 句でnames の系列の中から仮引数 name を取り、Group Join というキーワードの後scores の中から仮引数 score を取り、その name の Id プロパティの値とscore の Id プロパティの値が等しいかを見ています。ここまでは Join 句と同じですが、その後に Into 句が続き、ここでレコードとして、これらの値に対してどのような操作を行なうかというのを定義しています。 ここには例えば Group 以外にも、Sum などのオペレーションを行なうこともできます。またこの取ったオペレーションに対して、Select 句を適用し、name の Id 、それから name の Name、またこのレコードには、右側に入るscores のリストが来るため、その Count を取り出すようにしています。これを実行した結果を見てみましょう。すると先程までは表示されなかったId が 3 と 4 の人に対しても、結果が表示されています。またその場合、この 3 と 4 に関しては何も Score の要素が来ていない、つまり Count が 0 となっていることがわかります。最後にそれぞれをメソッド構文で表現する方法について説明します。Join 句をメソッド構文で表現するには、Join メソッドを使います。その時にまず1番目の引数に結合を行ないたい対象を、2番目の引数として Join メソッドの主体からとる Key を、3番目の引数としては結合対象の要素の Key を、そして4番目の引数ではそこからどのような Select を行なうかというラムダ式を記述します。また Group Join についても同様にして、1番目の引数には、結合対象の data を2番目の引数には、Group Join メソッドを呼び出した主体から取る Key を3番目の引数には、この結合対象の要素から取る Key をそして4番目の引数には、そこからどのような Select を行なうかというラムダ式を記述します。 これは実行してみると、クリエ式と同様の結果が得られる事が確認できます。このレッスンでは、複数のコレクションを対象に結合操作を行なうことができる、Join と Group Join について説明しました。

Visual Basic 入門

Visual Basicはプログラミング初心者にも比較的親しみやすい構文を採用したプログラミング言語です。従来のデスクトップアプリから最新フレームワークを用いたアプリまで、簡単に幅広く開発できます。このコースでは基本的な文法やクラス・名前空間などのより高度な機能、LINQなどVisual Basicを使ううえで必要な知識をひと通り学びます。

2時間53分 (43 ビデオ)
現在、カスタマーレビューはありません…
ソフトウェア・トピック
Visual Basic Visual Basic 2015
プラン加入者限定
発売日:2017年01月03日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。