C# 中的 Linq(Language Integrated Query)提供了一组极具表现力的 API 以使用语言的简洁 和查询能力。其中,Where()
是 Linq 中最常用的操作符之一,主要用于根据指定的条件筛选出序列中满足条件的元素,并返回这个元素组成的新序列。
该操作符的基本语法如下:
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
其中,source
参数是要进行筛选的源序列;predicate
参数是一个委托,用于指定选择条件,它会作用于序列的每个元素,返回一个布尔值表示该元素是否被选中。如果某个元素满足该条件,则被包含在结果序列中,否则被排除。
下面提供两个示例来说明 Where()
的使用:
- 从一个整数序列中筛选出所有大于 5 的元素,生成一个新的序列。
using System;
using System.Linq;
class Program {
static void Main(string[] args) {
int[] numbers = { 3, 5, 8, 2, 7, 1, 9, 4, 6 };
var result = numbers.Where(n => n > 5);
Console.WriteLine("Numbers greater than 5:");
foreach (var n in result) {
Console.WriteLine(n);
}
}
}
输出结果:
Numbers greater than 5:
8
7
9
6
- 从一个字符串数组中筛选出所有长度大于等于 5,且以某个指定的字符开头的元素,生成一个新的序列。
using System;
using System.Linq;
class Program {
static void Main(string[] args) {
string[] words = { "apple", "banana", "cherry", "strewberry", "pear", "orange" };
char startChar = 's';
var result = words.Where(w => w.Length >= 5 && w.StartsWith(startChar.ToString()));
Console.WriteLine($"Words starting with '{startChar}', and have length >= 5:");
foreach (var w in result) {
Console.WriteLine(w);
}
}
}
输出结果:
Words starting with 's', and have length >= 5:
strewberry
在以上示例中,我们通过使用 Where()
操作符,方便地从源序列中选出满足特定条件的元素,并将它们存储到新的序列中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# Linq的Where()方法 – 筛选序列中满足指定条件的元素 - Python技术站