C# Linq中的Any()方法用于判断序列是否包含任何元素。它的语法如下:
public static bool Any<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
其中,参数source
是需要搜索的序列,参数predicate
是用于定义搜索条件的方法。方法返回布尔值,表示序列中是否有符合条件的元素。
下面提供两个示例说明:
- 假设我们有一个整数序列,需要判断其中是否有任何一个元素是奇数。我们可以使用如下代码:
// 创建一个整数序列
int[] numbers = { 1, 2, 3, 4, 5 };
// 使用Any()方法,判断是否有任何一个元素是奇数
bool hasAnyOddNumber = numbers.Any(x => x % 2 == 1);
// 输出结果
Console.WriteLine(hasAnyOddNumber); // 输出True
在上述示例中,我们使用Any()
方法和Lambda表达式指定了搜索条件。代码中,x => x % 2 == 1
表示判断x是否为奇数。
- 假设我们有一个字符串序列,需要判断其中是否有任何一个元素包含指定的子字符串。我们可以使用如下代码:
// 创建一个字符串序列
string[] words = { "apple", "banana", "orange", "grape" };
// 使用Any()方法,判断是否有任何一个元素包含指定的子字符串
bool hasAnyStringWithSubstr = words.Any(x => x.Contains("ra"));
// 输出结果
Console.WriteLine(hasAnyStringWithSubstr); // 输出True
在上述示例中,我们使用Any()
方法和Lambda表达式指定了搜索条件。代码中,x => x.Contains("ra")
表示判断x是否包含”ra”这个子字符串。