2017-02-23 79 views
0

我需要得到三个文本(字符串)值,如果条件,并检查是否所有三个输入=我的条件,然后显示一个消息框“真”。如何检查IF运算符的三个条件?

简单的说,我需要检查内部的三个条件的方式,如果条件

注:我已经创建了设置和获取类

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类

get和set从前级类别调用

Windows窗体有3个组合b牛场。

+4

你的代码的工作,如果你将其替换'='''==,所以有什么问题? –

+4

检查'='或'=='? – doctorlove

+2

你看过[C#运营商文档](https://msdn.microsoft.com/en-us/library/ms173145.aspx)吗? –

回答

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"); 
     } 
} 

中间的括号是没有必要的。

+0

感谢队友它的作品:) –

1

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

当您要设置某物的值时,使用=运算符。

当您想检查一个对象是否与另一个对象相同时,使用==运算符。

所以,你应该能够取代:

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

有了:

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

感谢兄弟的工作 –