【发布时间】:2021-11-12 22:56:50
【问题描述】:
我正在学习 LINQ,但我不知道如何编写查询以返回一个布尔值,指示是否在数组中找到一个项目。我有一个非常简单的清单:
var targetProperties = new string[] { "SelectedDate", "SelectedMonth" };
我需要编写一个 LINQ 查询,如果传入的项在数组中,则返回 true,否则返回 false。该查询会是什么样子?
【问题讨论】:
我正在学习 LINQ,但我不知道如何编写查询以返回一个布尔值,指示是否在数组中找到一个项目。我有一个非常简单的清单:
var targetProperties = new string[] { "SelectedDate", "SelectedMonth" };
我需要编写一个 LINQ 查询,如果传入的项在数组中,则返回 true,否则返回 false。该查询会是什么样子?
【问题讨论】:
bool answer = targetProperties.Any(x => x == "SelectedDate");
【讨论】:
targetProperties.Contains("SelectedDate")?
【讨论】:
Contains 方法。您需要使用静态 Array.IndexOf 方法。 msdn.microsoft.com/en-us/library/system.array.indexof.aspx
IEnumerable<T>上的linq扩展方法,在C#数组上实现。