列表中的string.StartsWith元素

时间:2018-11-20 11:08:19

标签: c# string startswith

这是我的代码:

private bool isSpecialZone(string zoneNumber, string clientName)
{
    var notSpecialZones = new List<string> { "200", "201", "202" };
    return clientName.Contains("XXX") && !zoneNumber.StartsWith("200") && !zoneNumber.StartsWith("201") && !zoneNumber.StartsWith("202");
}

我想使其更整洁,而不是在每个地方都重复一个“ StartsWith”语句。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

此下一个linq语句正是您想要的。 一旦看到zoneNumber以“ notSpecialZone”开始,它将停止并返回。 通过提供“!”我们反转结果,使其与方法匹配。

private bool isSpecialZone(string zoneNumber, string clientName)
{
    var notSpecialZones = new List<string> { "200", "201", "202" };
    return clientName.Contains("XXX") && !notSpecialZones.Any(zone => zoneNumber.StartsWith(zone)); 
}