-5

可能重复:
使用 C# 检查字符串是否包含字符串数组中的字符串

我们可以在 asp.net 中使用逻辑 OR 运算符(|)在单个字符串变量中包含多个字符串吗?

string _Text = "";
string _str = "abc" | "xyz" | "123";
if(_Text.Contains(_str))
{
    foo("_str");
}

谢谢,

4

6 回答 6

3

使用正则表达式Regex.IsMatch(_Text, @"^(abc)|(xyz)|(123)$")

于 2012-10-04T11:58:47.440 回答
2

不,你不能,但你可以解决:

string _Text = "abc"
var _str = new[] {"abc", "xyz", "123"};

if(_str.Any(s => _Text.Contains(s))
{
     foo(_Text);
}
于 2012-10-04T11:58:58.430 回答
1

我不完全清楚你想做什么。或 (|) 无论如何都不起作用。你需要这样的东西吗?

string haystack = "The quick brown fox jumps over the lazy dog";
string[] needles = {"fox", "the", "dog"};

foreach (var n in needles)
{
    if (haystack.Contains(n))
    {
        Console.WriteLine("'{0}' found in '{1}'", n, haystack);
    }
}   
于 2012-10-04T12:01:56.177 回答
0

不,您应该为此使用任何类型的容器(数组/列表/等)。

于 2012-10-04T11:58:32.890 回答
0

不,它不能按照你的方式完成。但是如何使用数组

string _Text = "";
string[] _str = {"abc" , "xyz" , "123"};
if(_str.Contains(_Text))
{
    foo(_Text);
}
于 2012-10-04T11:58:43.267 回答
0

两个操作数都必须是布尔值:

逻辑或运算符:||

“逻辑或运算符 (||) 如果其中一个或两个操作数为真,则返回布尔值真,否则返回假。操作数在计算之前被隐式转换为 bool 类型,结果为 bool 类型。逻辑 OR 已离开——右关联性。”

于 2012-10-04T11:58:55.677 回答