佐々木屋

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

Whereメソッド

Whereメソッドはコレクションに対して指定した条件に一致する要素を抽出します。

例えば、適当な数配列があって、5以上の要素をListへ格納します。

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

//従来の方法
List<int> res1 = new List<int>();
foreach(int v in values) { 
    if (v > 5) {
        res1.Add(v);
    }
}

//LINQ
List<int> res2 = values.Where(x => x > 5).ToList();
Dim values As Integer() = {1, 9, 5, 6, 8, 6, 2, 5, 3}

'従来の方法
Dim res1 As New List(Of Integer)
For Each v As Integer In values
    If v > 5 Then
        res1.Add(v)
    End If
Next

'LINQ
Dim res2 As List(Of Integer) = values.Where(Function(x) x > 5).ToList()

WHEREメソッドはFor文だけでなく、If文も削除してしまいます。