C#基本

示例

LINQ对于查询集合(或数组)非常有利。

例如,给定下面的示例数据:

var classroom = new Classroom
{
    new Student { Name = "Alice", Grade = 97, HasSnack = true  },
    new Student { Name = "Bob",   Grade = 82, HasSnack = false },
    new Student { Name = "Jimmy", Grade = 71, HasSnack = true  },
    new Student { Name = "Greg",  Grade = 90, HasSnack = false },
    new Student { Name = "Joe",   Grade = 59, HasSnack = false }
}

我们可以使用LINQ语法这个数据“查询”。例如,要检索今天谁吃零食的所有学生:

var studentsWithSnacks = from s in classroom.Students
                         where s.HasSnack
                         select s;

或者,用90或以上年级学生检索,只有回到自己的名字,而不是完整的Student对象:

var topStudentNames = from s in classroom.Students
                      wheres.Grade>= 90
                      select s.Name;

LINQ的功能由执行相同的功能,具有几乎相同的性能,但写的很不同的两个语法的。在该示例中的语法以上被称为查询语法。下面的例子中,然而,示出了方法的语法。将返回与上面的示例相同的数据,但是查询的编写方式不同。

var topStudentNames = classroom.Students
                               .Where(s =>s.Grade>= 90)
                               .Select(s => s.Name);