if语句的多个值

2 c# list

如果我的陈述包含两个条件:

string searchx = "some string"; 

if ((searchx.Contains("a1")) || (searchx.Contains("a2")))
{
...
}
Run Code Online (Sandbox Code Playgroud)

但是如何用语句的单个变量获取值列表?

如果我有 a1, a2, a3, a4, a5, a6, a7, a8, a9...

我能用这种方式做到这一点,似乎是错误的尝试:

var valueList = new List<string> { "a1", "a2", "a3", "a4"};
Run Code Online (Sandbox Code Playgroud)

但只是为了解释我想要做什么,所以如果存在任何值valueList,则接受条件:

if (searchx.Contains(valueList)) 
{
...
}
Run Code Online (Sandbox Code Playgroud)

最好的,如果我可以得到多个值返回我猜或任何其他方式通过任何其他方式的单个变量获得更新的值列表,这可以这样对我有用吗?

Phi*_*mid 8

这对我有用:

if (valueList.Any(x => searchx.Contains(x)))
{
}
Run Code Online (Sandbox Code Playgroud)

甚至更短(感谢rajeeshmenoth)

    if(valueList.Any(searchx.Contains))
Run Code Online (Sandbox Code Playgroud)

  • 您也可以尝试这个:valueList.Any(searchx.Contains); (2认同)