Visual Basic 入門

Take, Skip, Single, Firstを使う

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

無料で視聴する すべての加入プランを見る
このレッスンでは、生成された系列に対して抽出を行う事の出来るクエリであるTake, Skip, Single, Firstについて説明します。
06:12

字幕

このレッスンでは、生成された系列に対して抽出を行なうことのできるクエリである Skip, Take,Single, First について説明します。はじめに Skip と Take について説明します。Skip は系列データの先頭要素n 句を無視するクエリ、そして Take は系列データの先頭要素n 個のみを採用するクエリです。では実際に挙動を確認してみましょう。はじめに適当なクエリを記述します。そのあと系列データに対して、抽出を行ないたい箇所でSkip や Take を記述することができます。例えば今回の場合は、From 句の後に続けて、そのままSkip や Take を記述しました。このコードは 0 から 20 までの系列に対して、先頭3個の要素つまり 0, 1, 2 を無視し、その後2個の要素のみを抽出つまり 3, 4 のみを抽出する、という挙動をするはずです。では実際に挙動を確認してみましょう。すると確かに 3, 4 のみが抽出され、表示されることがわかりました。もちろんこの Skip や Take はWhere や Select を組み合わせる事が可能です。例えば、Where n Mod 2 = 0の後に対して、Skip 句を続けてみましょう。 すると n を 2 で割った余りが 0 、である要素の系列に対して、最初の先頭3個を無視し、その後2個取って来れるはずです。このように実行すると、6, 8 のように表示されました。これは n を 2 で割った余りが 0 である、つまり 0, 2, 4, 6, 8, 10 のような系列に対して、先頭3個を無視し、その次の2個を取ったためです。では Skip と Take についてもメソッド構文を見ていきましょう。Skip と Take をメソッド構文で使うには、そのまま Skip というメソッドとTake というメソッドを使います。このメソッドを使うことで、そのメソッドの主体に対してSkip と Take を使うことができるようになります。実際にこのクエリ式をメソッド構文で表現すると、このようになります。では実際にこれを実行してみましょう。すると確かに 6, 8 と出力されて、上のクエリ式と同じ挙動をしていることが分かりました。では最後に Single と First について見ていきましょう。Single と First は、それぞれどちらもメソッド構文しか用意されていません。First はその系列の中で、最初に見つかった要素を返すメソッドSingle はその系列全体を見た時に、その要素が1つしかないということを確認した後、その要素を値を返すというメソッドです。 では実際に記述していきましょう。Single, First どちらもdata.First (ラムダ式)のように記述する事ができます。例えば、はじめて 3 で割った余りが0 となるものを取得したい場合を考えるとしましょう。この場合、data.First (Function(n) n Mod 3 = 0)と記述することができます。では実際にこれを出力してみましょう。なお先程までとは違い、この result 3 の値はInteger 型となります。先程までの Skip や Take では生成されるのは系列でしたが、Single, First を使うと要素1つが生成されるため、その返り値は Integer 型のようなコレクションではなくなることに注意しましょう。では実行してみます。すると、このように0 と出力されました。ではこの data に対して Skip を組み合わせてみましょう。すると 12 のように出力されました。正しい挙動をしていることが分かります。また Single は、必ずその要素が1つしかない事を確認するメソッドです。そのため例えば Id を元にそのユーザーを特定する、という場合には非常に多く使います。 例えばこの data は、0 から 19 までの数字をそれぞれ1つずつ持っていますが、その整数に対して n が 1 の時は、1回しかありません。そのためこのメソッド構文は正常に動作するはずです。実際に実行してみると、確かにn = 1 は1つしかありませんので、正常に実行されました。また First, Single どちらも要素が見つからなかった場合には、例外を Throw します。例えば Single (Function(n) n = -1) とした場合、data に対して n が -1 の要素は存在しませんので、このような形で例外が Throw されました。さらに Single に関しては、要素が複数存在する場合に関しても、例外を Throw します。例えば Single のラムダ式として、n Mod 2 = 0 を指定したとしましょう。するとこの data の要素に対して、2 で割った時に余りが 0 となる整数は複数存在しますので、このコードを実行してみるとこのような形でエラーが発生します。状況に応じて Single, First を使い分けると良いでしょう。このレッスンでは、生成された系列に対して抽出を行なうことのできるクエリである Take, Skip,Single, First について説明しました。

Visual Basic 入門

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

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

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

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

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