0

MySQL からの値がいくつかあります。そして知りたい...どうすれば次のことができるか:

if (Value.ToString() == "1" || Value.ToString() == "2" || Value.ToString() == "3" && SecondValue.ToString() == "5")

値は 1 "または" 2 "または" 3 ... および 2 番目の値 "5" です。(3 つの「値」) && SecondValue のいずれかを意味します。またはそれを行う方法はありませんか?そして、私はこれを行う必要があります:

if (Value.ToString() == "1" && SecondValue.ToString() == "5"
{
}
if (Value.ToString() == "2" && SecondValue.ToString() == "5"
{
}
ect ....

ご回答ありがとうございます。

4

6 に答える 6

8

コードはほぼ正しいですが、「または」条件をグループ化するには、括弧を追加する必要があります。

if ((Value.ToString() == "1" || Value.ToString() == "2" || Value.ToString() == "3") 
 && SecondValue.ToString() == "5")
于 2013-10-17T17:56:39.773 に答える
2

あなたが行こうとしているのはこれだと思います:

 if (new List<string>() { "1", "2", "3" }.Contains(Value.ToString()) && SecondValue.ToString() == "5")
于 2013-10-17T17:57:15.947 に答える
1

これを試してください、それは十分にきれいです:

if (SecondValue.ToString() == "5")
{
   if (Value.ToString() == "1" || Value.ToString() == "2"  || Value.ToString() == "3")
   {
      //Do Stuff
   }
}

よろしく、クレコン

于 2013-10-17T17:57:59.090 に答える
1

括弧を使用して、ブール条件を必要に応じてグループ化できます。「これらのケースの 1 つが true であり、これらの他のケースの 1 つも true」であるケースが必要な場合は、ケースを適切にグループ化します。あなたの場合、コレクションを使用して、次のような「値」の有効なケースの値を保持する方がよいでしょう。

var myValue = Value.ToString();
var myValidCases = new [] {"1", "2", "3"};
if(myValidCases.Any(validCase => validCase == myValue) && SecondValue.ToString() == "5")
{
  //do something
}
于 2013-10-17T17:58:38.927 に答える
0
if 
(
    (
        Value.ToString() == "1" || 
        Value.ToString() == "2" || 
        Value.ToString() == "3"
    ) && 
    SecondValue.ToString() == "5"
)
于 2013-10-17T17:56:30.290 に答える
0

基本的には次のようになります。

(Value == 1 && SecondValue == 5) || (Value == 2 && SecondValue == 5) || (Value == 3 && SecondValue == 5)

&& 演算子は、分配的であるという点で乗算演算子と非常によく似ています。つまり、これを行うことができます:

(Value == 1 || Value == 2 || Value == 3) && SecondValue == 5
于 2013-10-17T17:57:01.887 に答える