如何用IF操作员检查三个条件?

时间:2017-02-23 09:54:12

标签: c#

我需要将三个文本(字符串)值添加到if条件并检查所有三个输入是否=我的条件,然后显示一个消息框“True”。

简单的说法我需要检查if条件中的三个条件

注意:我已经创建了set并获取了类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
//
namespace KBS_Task3
{

    class PredecessorDAO
    {
           public void check(predecessor predecessor)
           {
           string predic = predecessor.getPredic();
           string arg1 = predecessor.getArg1();
           string arg2 = predecessor.getArg2();

           if(predic = "ISA" && (arg1="Car" && arg2="Vehicle"))
              {
              MessageBox.Show("TRUE");
              }
           }
     }
}

上面提到的是PredecessorDAO类

从Predecessor Class调用get和set

Windows窗体有3个组合框字段。

2 个答案:

答案 0 :(得分:2)

您有错误的运算符来检查是否相等。您使用assignment operator。但你需要的是equality operator。前者允许您为变量赋值,后者允许您比较2个字符串。

使用相等运算符,结果将是:

public void check(predecessor predecessor)
{
      string predic = predecessor.getPredic();
      string arg1 = predecessor.getArg1();
      string arg2 = predecessor.getArg2();

      if(predic == "ISA" && arg1 == "Car" && arg2 == "Vehicle")
      {
          MessageBox.Show("TRUE");
      }
}

中间的括号不是必需的。

答案 1 :(得分:1)

如果我正确理解您的问题,您只想检查3变量是否等于3个值。您使用&&运算符是正确的,但在执行条件运算时,您需要使用==运算符而不是=运算符。

如果要设置某个值,请使用=运算符。

如果要检查一个对象是否与另一个对象相等,请使用==运算符。

所以你应该能够取代:

if(predic = "ISA" && (arg1="Car" && arg2=" {
    MessageBox.Show("TRUE");
}

使用:

if(predic == "ISA" && arg1 == "Car" && arg2 == "Vehicle") {
    MessageBox.Show("TRUE");
}