C#LINQ包含带有两个子句的方法

时间:2016-08-10 14:32:56

标签: c# linq contains

在LINQ Contains方法中使用两个子句的最佳实践方法是什么..

标题是字符串

这是我的If声明:

if (oWeb.ParentWeb.Title.Contains("Ricky") || oWeb.ParentWeb.Title.Contains("John"))

我需要这样的解决方案:

 if (oWeb.ParentWeb.Title.Contains("Ricky", "John"))

3 个答案:

答案 0 :(得分:3)

由于Titlestring,这实际上与LINQ无关,因为使用的Contains方法是string的实例方法。

假设您有更多要检查的字符串,您可以执行以下操作:

var strings = new[] {"Ricky", "John"};
if (strings.Any(oWeb.ParentWeb.Title.Contains))
    // do something

roryap使用正则表达式的答案似乎更可取(只要要检查的字符串数量不是太大)。

答案 1 :(得分:2)

我不认为LINQ是最好的选择。为什么不使用正则表达式?

ssc1.awaitTermination();

答案 2 :(得分:1)

Contains只接受一个参数,所以你不能这样做。

您可以制作一系列项目,并使用它检查遏制:

var titles = new[] {"Ricky", "John"};
if (titles.Any(t => oWeb.ParentWeb.Title.Contains(t))) {
    ...
}