linq Any()方法
时间: 2023-07-29 09:07:11 浏览: 47
`Any()` 方法是 LINQ 中的一种方法,用于确定序列是否包含任何元素。它返回一个布尔值,指示序列中是否存在任何元素。如果序列为空,则返回 false。
`Any()` 方法可以在 LINQ 查询表达式中使用,也可以直接作用于序列。下面是一个使用 `Any()` 方法的示例:
```csharp
int[] numbers = { 1, 2, 3, 4, 5 };
bool hasEvenNumber = numbers.Any(n => n % 2 == 0);
```
这个示例中,`Any()` 方法用于确定序列 `numbers` 是否包含任何偶数。Lambda 表达式 `n => n % 2 == 0` 作为参数传递给 `Any()` 方法,用于定义偶数的条件。如果序列中存在任何偶数,`hasEvenNumber` 变量将设置为 true,否则为 false。
除了不带参数的 `Any()` 方法外,还有一个带有条件参数的重载方法,它允许您指定一个条件来测试序列的每个元素。例如:
```csharp
string[] words = { "apple", "banana", "cherry" };
bool hasLongWord = words.Any(w => w.Length > 5);
```
这个示例中,`Any()` 方法用于确定序列 `words` 是否包含任何长度大于 5 的单词。Lambda 表达式 `w => w.Length > 5` 作为参数传递给 `Any()` 方法,用于定义长度大于 5 的条件。如果序列中存在任何长度大于 5 的单词,`hasLongWord` 变量将设置为 true,否则为 false。