检查字符串的所有元素

时间:2015-04-12 15:51:07

标签: c# arrays

我想检查我的数组类是否包含所有元素的字符串“Unavailable”:

classApplicantNDatesCount[] applicantCounts = null;  
....
...
applicantCounts = appCount.ToArray();

特别是我需要搜索的数组的“部分”:

 applicantCounts[i].NadraDateAvailableforApplicant = "All Requested Slots UnAvailable"

所以我需要检查所有applicantCounts[i].NadraDateAvailableforApplicant元素是否包含字符串“Unavailable”。

我调查了Array.TrueforAll,但未找到将其应用于我的位置的方法。

道歉我不认为我使用了正确的术语,这可能会使这个有点不清楚.......

3 个答案:

答案 0 :(得分:7)

LINQ早餐吃这种东西:

applicantCounts.All(a => a.NadraDateAvailableforApplicant.Contains("Unavailable"))

我们在这里使用.All来检查可枚举的所有元素的条件是否为真。

请注意,您在字符串搜索中有大写字母错误。

答案 1 :(得分:2)

使用Array.TrueForAll将如下所示:

bool all = Array.TrueForAll(
  applicantCounts,
  x => x.NadraDateAvailableforApplicant.Contains("Unavailable")
);

答案 2 :(得分:1)

对于@ Benjamin的方法,我会使用IndexOf代替Contains,您可以指定StringComparison,以防您不喜欢不区分大小写的搜索或指定CultureInfo

applicantCounts.All(app => app.NadraDateAvailableforApplicant.IndexOf("Unavailable", StringComparison.OrdinalIgnoreCase) >= 0);