-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

両方のオペランドはブール値でなければなりません:

論理 OR 演算子: ||

「論理 OR 演算子 (||) は、いずれかまたは両方のオペランドが true の場合はブール値 true を返し、それ以外の場合は false を返します。オペランドは評価前に bool 型に暗黙的に変換され、結果は bool 型になります。論理 OR は終了しました。 -右への結合。"

于 2012-10-04T11:58:55.677 に答える