佐々木屋

技術的なことから趣味まで色々書きます

Selectメソッド

LINQで一番利用されている(と思う)Selectメソッドです。コレクションの全要素に対して処理が行われます。

例えば、適当な数値のコレクション全要素に対して3を掛けるような処理を考えてみましょう。

int[] values = { 1, 9, 5, 6, 8, 6, 2, 5, 3 };

//従来の方法
int[] res1 = new int[values.Length];
for (int i = 0; i < values.Length; ++i) {
    res1[i] = values[i] * 3;
}

//LINQ
int[] res2 = values.Select(x => x * 3).ToArray();
Dim values As Integer() = {1, 9, 5, 6, 8, 6, 2, 5, 3}

'従来の方法
Dim res1(values.Length) As Integer
For i As Integer = 0 To values.Length - 1
    res1(i) = values(i) * 3
Next

'LINQ
Dim res2() As Integer = values.Select(Function(x) x * 3).ToArray()



このようにLINQの最大の特徴は、for文やforeach文といった繰り返し処理が無くなることです。これによって無駄に長いコードや不要な変数宣言が無くなります。