C# Linq的Where()方法 – 筛选序列中满足指定条件的元素

  • Post category:C#

C# Linq中的Where()方法用于筛选序列中的元素,并返回所有符合条件的元素。其基本语法如下:

var result = sequence.Where(element => condition);

其中,sequence是指要进行筛选操作的序列,element是指序列中的每个元素,condition是指一个布尔表达式,用于筛选符合条件的元素。Where()方法返回的是一个新的序列,其中包含符合条件的所有元素。

示例1:

假设有一个学生对象的序列,其中每个学生对象都包含姓名和成绩两个属性。现在需要筛选出所有成绩大于80分的学生。可以使用Where()方法来实现:

var students = new List<Student>(); // 假设已经存在一个学生对象序列
var result = students.Where(student => student.Score > 80);

以上代码中,使用Where()方法筛选出所有成绩大于80分的学生,保存在result变量中。

示例2:

假设有一个字符串数组,需要筛选出其中所有长度大于等于5的字符串。可以使用Where()方法来实现:

var strArr = new string[]{"apple", "banana", "cherry", "date", "egg"};
var result = strArr.Where(str => str.Length >= 5);

以上代码中,使用Where()方法筛选出长度大于等于5的字符串,保存在result变量中。

注意:Where()方法返回的是一个序列,可以进行链式调用。如需对序列进行排序、分页等操作,可以在Where()方法后面继续使用其他Linq方法来实现。