今回のテーマ
こんばんは、かっぱちゃんです。
今までC#の記事を書いていたのですが、急遽仕事でVisual Basicを使用することになったので、
今までのC#のブログをVB版にしていきます。私もVBの書き方全然覚えてないので、勉強しながら書いていきますよ!
VBを使っている人はぜひ参考にしてくださいね^^
今回は下記の記事について書いていこうと思います。
今回のテーマ
Linqの使い方を解説。SelectとWhereの使い方。
今回はC#のLinqについて学びましょう。覚えておくと本当に便利なので、基本的な使い方を覚えよう。

Linqを使う場面
Linqはリストや配列に対して、使用することが多いです。各要素に対して、値の取得や値の修正などを行えたりします。
リストや配列はEnumerableインタフェースを実装しているので、Linqを使用することができます。
この辺の詳しい話は別の記事でしていこうと思いますので、今回はLinqって何が便利なの?という所を話していければと思ってます。

C#のエンジニアであれば、絶対買ってほしい本2選
C#の初心者にオススメ!基本はこの本で抑えよう!
Linqの使い方が沢山載っている。中級者以上の方にオススメ!
Linqメソッドの解説の流れ
これから複数の記事に渡って、Linqのメソッドを解説していこうとおもうので、下記のような流れで説明していきたいと思います。
行いたい処理の例を書きます。
Linqを使用しない書き方と使用する書き方のソースコードを書いていきます。
ソースコードには、配列を使います。
この流れで色々なメソッドを解説していこうと思いますので、よろしくお願いします。
Selectの使い方

Selectの使い方について、例を書いていきます。
行いたい処理
int型配列の全ての要素に対して2を足す。
Linqを使用しない例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Imports System Module Program Sub Main(args As String()) Dim array = {1, 2, 3, 4, 5} For i = 0 To array.Length - 1 array(i) = array(i) + 2 Next For Each item As Integer In array Console.WriteLine(item) Next End Sub End Module |
result
3
4
5
6
7
繰り返しでそれぞれ2を足しています。
続けてLinqを使用した例です。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 |
Imports System Imports System.Linq Module Program Sub Main(args As String()) Dim array = {1, 2, 3, 4, 5} Dim array2 = array.Select(Function(n) n + 2) For Each item As Integer In array2 Console.WriteLine(item) Next End Sub End Module |
result
3
4
5
6
7
Linqを使用した例です。array.Select(Function(n) n + 2)がLinqの処理ですね。
VBでのLinqをメソッド構文で使用する場合は今回のようにFunction(引数) 結果と記述するんですね。C#のように=>を使いたい(笑)
Functionは省略できませんでした!!
VBでは、(Function(引数) 結果)と覚えていきましょう!”1行で書けることはC#と変わらないのでよかった!
Whereの使い方

続けてWhereの使い方の例を見てみましょう。
行いたい処理
int型配列の中で偶数の条件のみ取りだし、新しい配列を作成する。
Linqを使用しない例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Imports System Imports System.Linq Module Program Sub Main(args As String()) Dim array = {1, 2, 3, 4, 5, 6} Dim array2 = {0, 0, 0} For i = 0 To array.Length - 1 If array(i) Mod 2 = 0 Then array2(Math.Floor(i / 2)) = array(i) End If Next For Each item As Integer In array2 Console.WriteLine(item) Next End Sub End Module |
result
2
4
6
普通に処理しようとすると中々大変ですね。続けてLinqを使った例を見てみます。
Linqを使用する例
1 2 3 4 5 6 7 8 9 10 11 12 |
Imports System Imports System.Linq Module Program Sub Main(args As String()) Dim array = {1, 2, 3, 4, 5, 6} Dim array2 = array.Where(Function(n) n Mod 2 = 0).ToArray() For Each item As Integer In array2 Console.WriteLine(item) Next End Sub End Module |
result
2
4
6
Linqのパワー凄くないですか?1行で目的のソースコードが出来てしまいました。
Linqのソースコードは下記の部分ですね。Funtionに指定した引数に対し、trueとfalseを結果として返します。
Whereメソッドでは、結果がtrueとなる値のみ残してくれます。
1 |
array.Where(Function(n) n Mod 2 = 0).ToArray() |
これがLinqの力です。この機会にぜひ覚えてください。
他のLinqの記事についてはこちら
まとめ
今回の記事ではLinqの記事1回目として下記のメソッドを取り上げました。
今回のメソッド一覧
- Select
- Where
他のメソッドも別記事で紹介しますが、まず一番よく使うSelectとWhereでLinqの処理の動きを覚えてマスターしていきましょう!

今回の記事は以上とします。他メソッドについても別記事で沢山紹介していきますね。
最後まで見て頂きありがとうございました。
次回の記事はこちらです。
CHECK
-
-
Visual Basic VBのLinqの使い方(メソッド構文)を解説。AnyメソッドとAllメソッドの使い方を解説します。
今回のテーマContents1 今回のテーマ2 LinqのAnyとAllを使用する場面2.1 Any2.2 All3 Linqメソッドの解説の流れ4 Anyの使い方5 Allの使い方6 まとめ こんば ...
続きを見る
プログラミング能力を上げたい方は是非オンラインのプログラミング教室も検討してみてくださいね!!
一人で独学をするよりもプロからオンラインでプログラミングを教えてもらった方が10倍は効率いいです!!
私が厳選したオススメのオンライン教室を貼っておきます!!どちら共、エンジニアとしての就職までサポートしてくれる素晴らしい教室です。キャリアなどの個別相談は無料ですよ!!
申し込みは完全無料!未経験でITエンジニアを目指したい方にオススメ!
Webエンジニアになりたい方にオススメ!個別相談は無料!
