首页 > 解决方案 > 如何检查字符串数组中的任何字符串是否包含在c#中的另一个字符串中

问题描述

我正在编写类似于以下代码的逻辑-

string myString = "ABCD";

if(myString.Contains("AB") && myString.Contains("C") && !myString.Contains("XYZ"))
{
    //Do something
}

我想写上面的代码是这样的:

string myString = "ABCD";

if( myString .contains any string from new[] { "AB", "C" } )
{
   //Do Something
}

你能告诉我,我怎样才能实现它?提前致谢。

标签: c#arrays

解决方案


你想检查数组是否有Any这样的项目myString Contains

using System.Linq;

...

// myString contains "AB" or "C"
if (new[]{ "AB", "C" }.Any(item => myString.Contains(item))) {
    ...
} 

AllmyString应该包含两个 "AB""C"

// myString contains both "AB" and "C"
if (new[]{ "AB", "C" }.All(item => myString.Contains(item))) {
    ...
} 

推荐阅读