2017-02-23 2 views
0

Мне нужно получить три значения текста (строки) в условии if и проверить, соответствуют ли все три входа = моим условиям, а затем отображает окно сообщения «Правда».Как проверить три условия с IF Operator?

простой способ сказать, что мне нужно, чтобы проверить три условия внутри а, если условия

Примечание: я уже создал множество и получить класс

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

получить и установить вызванный из класса предшественника

Форма Windows имеет 3 комбо b ox.

+4

Ваш код работает, если вы замените '=' с '' ==, так что этот вопрос? –

+4

Проверьте '=' или '=='? – doctorlove

+2

Вы посмотрели [документацию на операторы C#] (https://msdn.microsoft.com/en-us/library/ms173145.aspx)? –

ответ

2

У вас неправильный оператор для проверки равенства. Вы используете assignment operator. Но то, что вам нужно, это equality operator. Первая позволяет вам присваивать значение переменной, а вторая - сравнивать две строки.

Используя оператор равенства результат будет:

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

Спасибо, что это работает –

Смежные вопросы