今回のテーマ
こんばんは、かっぱちゃんです。
今回もLinqのSelectメソッドの使い方として、下記のテーマについて書いていきます。
今回のテーマ
リストや配列の要素に対して連番を割り振る方法
今回はSelectメソッドで連番を割り振る方法を書いていきます。
下記の記事でもSelect文について解説しています。良ければ見てください。
CHECK
-
-
Visual Basic VBのLinqの使い方(メソッド構文)を解説。Select(function(x))が何か解決します。
今回のテーマContents1 今回のテーマ2 今回使うクラスについて3 Linqメソッドの解説の流れ4 Selectの使い方5 複数個の属性を抜き出す方法6 まとめ こんばんは、かっぱちゃんです。 ...
続きを見る

Linqメソッドの解説の流れ
下記の流れで説明したいと思います。
行いたい処理の例を書きます。
Linqを使用するソースコードを書いていきます。
ソースコードには、リストと配列を使います。

C#のエンジニアであれば、絶対買ってほしい本2選
C#の初心者にオススメ!基本はこの本で抑えよう!
Linqの使い方が沢山載っている。中級者以上の方にオススメ!
Select文を使用して、連番の付ける方法
早速、配列の各要素に対して、連番を割り振ってみましょう!
行いたい処理
String型の配列に連番の属性を付けたい。
配列に連番を割り振ってみる
1 2 3 4 5 6 7 8 9 |
Module Program Sub Main(args As String()) Dim array = {"dog", "cat", "mouse", "lion"} Dim array2 = array.Select(Function(x, No) (No, x)).ToArray() For Each item In array2 Console.WriteLine(item) Next End Sub End Module |
result
(0, dog)
(1, cat)
(2, mouse)
(3, lion)
上記のようにSelect文を使うことで連番を割り振ることが可能です。思ったよりも簡単に出来ますよね。
やり方としてはSelectの引数(右辺)を2つにします。2つ目の引数には自動的に0からの連番が割り振られているので、
その値をそのまま扱うことで実現できます。
結果はタプル型で表示されているので、この自動的に降られたNoは下記のように自由に取り出して扱う事も可能です。
1 |
Console.WriteLine(item.No); |
リストも同じように出来ます。
リストに連番を付けてみる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Imports System Imports System.Linq Module Program Sub Main(args As String()) Dim list = New List(Of String) list.Add("dog") list.Add("cat") list.Add("mouse") list.Add("lion") Dim list2 = list.Select(Function(x, No) (No, x)).ToList() For Each item In list2 Console.WriteLine(item) Next End Sub End Module |
result
(0, dog)
(1, cat)
(2, mouse)
(3, lion)
リストでも簡単に実現することができますね。

簡単な応用例
この連番を使う時の簡単な応用例を紹介します。次の事がやりたいとします。
行いたい処理
配列の要素の順番が3の倍数である動物のみ出力したい。
連番を扱う応用例
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 = {"dog", "cat", "mouse", "lion", "bear", "fox", "tiger", "pig", "camel"} Dim array2 = array.Select(Function(Name, No) (No, Name)).Where(Function(x) x.No Mod 3 = 2).Select(Function(x) x.Name) For Each item In array2 Console.WriteLine(item) Next End Sub End Module |
result
mouse
fox
camel
このような感じで、連番に対して3の倍数の条件を指定し、配列を作ることが出来ます。
まとめ
今回はリストや配列に連番を付ける方法を学びました。
Linqで指定できるからこそ、便利な場面が多いです。
覚えてしまえば、簡単なのでぜひ覚えてください。引数を2つ指定する方法も初めてつかったので、覚えてしまいましょう。
近いうちに引数の指定の仕方などの記事も書いていこうと思っています。
最後まで見て頂きありがとうございました。

プログラミング能力を上げたい方は是非オンラインのプログラミング教室も検討してみてくださいね!!
一人で独学をするよりもプロからオンラインでプログラミングを教えてもらった方が10倍は効率いいです!!
私が厳選したオススメのオンライン教室を貼っておきます!!どちら共、エンジニアとしての就職までサポートしてくれる素晴らしい教室です。キャリアなどの個別相談は無料ですよ!!
申し込みは完全無料!未経験でITエンジニアを目指したい方にオススメ!
Webエンジニアになりたい方にオススメ!個別相談は無料!
