我们可以在asp.net中的字符串变量中使用OR运算符吗?

时间:2012-10-04 11:56:32

标签: c# asp.net

  

可能重复:
  Using C# to check if string contains a string in string array

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

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

谢谢,

6 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

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

if(_str.Any(s => _Text.Contains(s))
{
     foo(_Text);
}

答案 2 :(得分: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);
    }
}   

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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

Logical OR Operator: ||

"如果其中一个或两个操作数为true,则逻辑OR运算符(||)返回布尔值true,否则返回false。在评估之前,操作数被隐式转换为bool类型,结果是bool类型。逻辑OR具有从左到右的关联性。"