基本上我要检测一个以上的字符串,当前的代码示例是C#多个字符串包含
if (!str3.Contains("example1"))
{
continue;
}
我怎么会加上“例1”,“例题” &“示例3”
基本上我要检测一个以上的字符串,当前的代码示例是C#多个字符串包含
if (!str3.Contains("example1"))
{
continue;
}
我怎么会加上“例1”,“例题” &“示例3”
您可以使用Linq
如果你想与一个大名单,以测试:
var excludes = new[] { "example1", "example2", "example3" };
//your loop here
{
if (!excludes.Any(x => str3.Contains(x)))
{
continue;
}
}
就个人而言,我更喜欢循环,因为它解决了手动扩大你的代码问题的方式。例如...
public void MyMethod(string param)
{
var myList = new string[]
{
"example1",
"example2",
"example3"
};
foreach (var item in myList)
{
if (!param.Contains(item)) continue;
}
//Do something here
}
基本上,你正在创建一个你想要搜索的物品的集合。使用它,你循环它们并将它们与目标字符串进行比较。
我不知道该函数的全部范围,所以我不能完全添加更多,但这已经很基本了。
如果字符串遵循特定的模式,正则表达式总是一个干净的选项。
如果字符串 “例1”, “例2” 等等,你可以使用这个表达式:
/example[0-9]+/g
一些C#发现第一和第二场比赛(来源:http://www.dotnetperls.com/regex):
// Get first match.
Match match = Regex.Match(str3, @"example[0-9]+");
if (match.Success)
{
//matched one of the strings
}
// Get second match.
match = match.NextMatch();
if (match.Success)
{
//process second match
}
与通常测试多个条件相同的方式 - 用'&&'或'||'将它们连接在一起。例如:'if(!str3.Contains(“example1”)&&!str3.Contains(“example2”)...)' –
检测它们全部或任何一个? –
如果你有很多它们,你可以创建一个'IEnumerable',比如'List ',并用适当的逻辑循环遍历你的外部循环。 –