foreach内のifをLINQで


public class Student
{
    public string Name;
}

public class Class
{
    public Student[] Students;
}

クラス内で年齢が20歳以上の人の名前リストを作りたい場合

foreachとifなら

var names = new List<string>();
foreach (var student in @class.Students)
{
    if (student.Age >= 20)
    {
        names.Add(student.Name);
    }
}

LINQなら

var names = @class.Students
    .Where(o => o.Age >= 20)
    .Select(o => o.Name)
    .ToList();