Оператор && не может применятся к операндам типа "string" и "string" - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток... Решил сделать в программке (домашнем задании) не большое "Пасхальное Яйцо" вообщем то имеем три текст бокса. имеем проверку их заполнения, но они должны заполняться только 1 или 0 так же есть еще допустимый вариант когда в текст бокс 1 стоит символ Х в текст бокс 2 стоит символ У в текст бокс 3 стоит Z , в других вариация вводить символы нельзя, иначе выйдет сообщение с предупреждением ну и собственно реализован алгоритм действий если в текст боксы введены символы удовлетворяющие условию описаному выше... так вот , когда введен 1 или 0 во все боксы, все работает норма, Но проблемы, с буквами... вообщем мне нужно взять символ из текст бокса и сравнить его с другим символм, если они совпадают то выдать определенное текстовое предупреждение. все что мне удалось реализовать это только то что программа не ругается на то что введены символы Икс, Игрик и Z ,и начинает работать дальше, но естественно выпадает в ступор не найдя 1 или 0 , так как мне ни как не получается сравнить сивол из текст бокса с моими... привожу кусок кода
Листинг программы
  1. if (((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "0")) || // проверяем на заполнение текст бокс 1 и текст бокс 2 и текст бокс 3, либо 1 либо 0
  2. ((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
  3. ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
  4. ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
  5. ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
  6. ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "0")) ||
  7. ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
  8. ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
  9. ((textBox1.Text == "X") && (textBox2.Text == "Y") && (textBox3.Text == "Z")))
  10. {
  11. // задаем условие по которому должен получится ответ
  12. if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1
  13. && Convert.ToInt32(textBox3.Text) == 1) // если ТБ1=1 ТБ2=1 ТБ3=1 то Ответ 1
  14. { label1.Text = "Ответ : 1"; }
  15. else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
  16. && Convert.ToInt32(textBox3.Text) == 0) // если ТБ1=0 ТБ2=0 ТБ3=0 то Ответ 0
  17. { label1.Text = "Ответ : 0"; }
  18. else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
  19. && Convert.ToInt32(textBox3.Text) == 0) // если ТБ1=1 ТБ2=0 ТБ3=0 то Ответ 1
  20. { label1.Text = "Ответ : 1"; }
  21. else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
  22. && Convert.ToInt32(textBox3.Text) == 0) // если ТБ1=0 ТБ2=1 ТБ3=0 то Ответ 1
  23. { label1.Text = "Ответ : 1"; }
  24. else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1
  25. && Convert.ToInt32(textBox3.Text) == 0) // если ТБ1=1 ТБ2=1 ТБ3=0 то Ответ 0
  26. { label1.Text = "Ответ : 0"; }
  27. else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
  28. && Convert.ToInt32(textBox3.Text) == 1) // если ТБ1=0 ТБ2=0 ТБ3=1 то Ответ 1
  29. { label1.Text = "Ответ : 1"; }
  30. else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
  31. && Convert.ToInt32(textBox3.Text) == 1) // если ТБ1=1 ТБ2=0 ТБ3=1 то Ответ 0
  32. { label1.Text = "Ответ : 0"; }
  33. else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
  34. && Convert.ToInt32(textBox3.Text) == 1) // если ТБ1=0 ТБ2=1 ТБ3=1 то Ответ 1
  35. { label1.Text = "Ответ : 0"; };
  36.  
  37. }
  38. else // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда
  39. { MessageBox.Show("Введите 0 или 1"); } // вывести сообщение "Введите 0 или 1"
  40. break; // остановка
как только начинаю играться по подобию уже написаного , программа меня осаживает и постоянно тыкает носом в то что я не могу так делать, потому что это тип стринг...а как тогда сделать?

Решение задачи: «Оператор && не может применятся к операндам типа "string" и "string"»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace WindowsFormsApplication1
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.  
  15.         int operacia; // это номер операции
  16.         public Form1() // первоначальная инициализация при запуске
  17.         {
  18.             InitializeComponent(); // инициализация компонентов
  19.             textBox1.Visible = false; // делаем невидимым текст бокс1
  20.             textBox2.Visible = false; // делаем невидимым текст бокс2
  21.             textBox3.Visible = false; // делаем невидимым текст бокс3
  22.             label1.Text = ""; // делаем невидимым лейбл1
  23.             label3.Text = ""; // делаем невидимым лейбл3
  24.             label4.Text = ""; // делаем невидимым лейбл4
  25.             label5.Text = ""; // делаем невидимым лейбл5
  26.         }
  27.  
  28.         private void radioButton1_CheckedChanged_1(object sender, EventArgs e)
  29.         // нажатие на радио кнопку 1 "Отрицание ( НЕ )"
  30.         {
  31.             textBox1.Visible = true;  // показываем текст бокс1
  32.             textBox2.Visible = false; // скрываем текст бокс2
  33.             textBox3.Visible = false; // скрываем текст бокс3
  34.             label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
  35.             label4.Text = ""; // делаем невидимым лейбл4
  36.             label5.Text = ""; // делаем невидимым лейбл5
  37.             operacia = 1; // это номер операции привязанной к радио кнопке 1 "Отрицание ( НЕ )"
  38.         }
  39.  
  40.         private void radioButton2_CheckedChanged_1(object sender, EventArgs e)
  41.         // нажатие на радио кнопку 2 "Коньюкция ( ИЛИ )"
  42.         {
  43.             textBox1.Visible = true;  // показываем текст бокс1
  44.             textBox2.Visible = true;  // показываем текст бокс2
  45.             textBox3.Visible = false; // скрываем текст бокс3
  46.             label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
  47.             label4.Text = "Введите 2 опреанду"; // выводим информационный лейбл вместе с текст боксом2
  48.             operacia = 2; // это номер операции привязанной к радио кнопке 2 "Коньюкция ( ИЛИ )"
  49.         }
  50.  
  51.         private void radioButton3_CheckedChanged_1(object sender, EventArgs e)
  52.         // нажатие на радио кнопку 3 "Дизьюкция ( И )"
  53.         {
  54.             textBox1.Visible = true;  // показываем текст бокс1
  55.             textBox2.Visible = true;  // показываем текст бокс2
  56.             textBox3.Visible = false; // скрываем невидимым текст бокс3
  57.             label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
  58.             label4.Text = "Введите 2 опреанду"; // выводим информационный лейбл вместе с текст боксом2
  59.             operacia = 3; // это номер операции привязанной к радио кнопке 3 "Дизьюкция ( И )"
  60.         }
  61.  
  62.         private void radioButton4_CheckedChanged_1(object sender, EventArgs e)
  63.         // нажатие на радио кнопку 4 "Cложение по модулю два (^)"
  64.         {
  65.             textBox1.Visible = true; // показываем текст бокс1
  66.             textBox2.Visible = true; // показываем текст бокс2
  67.             textBox3.Visible = true; // показываем текст бокс3
  68.             label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
  69.             label4.Text = "Введите 2 опреанду"; // выводим информационный лейбл вместе с текст боксом2
  70.             label5.Text = "Введите 3 опреанду"; // выводим информационный лейбл вместе с текст боксом3
  71.             operacia = 4; // это номер операции привязанной к радио кнопке 4 "Cложение по модулю два (^)"
  72.         }
  73.  
  74.         private void button1_Click_1(object sender, EventArgs e) // нажатие на кнопку "решение"
  75.         {
  76.             switch (operacia) // делим операции на кейсы в зависимости от выбраной радио кнопки
  77.             {
  78.                
  79.                 case 1: // кейс радио кнопки 1 "Отрицание ( НЕ )"
  80.                     if ((textBox1.Text == "0") || (textBox1.Text == "1"))       // проверяем на заполнение текст бокс 1, либо 1 либо 0
  81.                     {                                                           // если введена либо 1 либо 0
  82.                         if (Convert.ToInt32(textBox1.Text) == 1)                // тогда если введена 1 вывести лейбл 1 с текстом 1
  83.                         { label1.Text = "Ответ : 0"; };
  84.                         if (Convert.ToInt32(textBox1.Text) == 0)                // тогда если введена 0 вывести лейбл 1 с текстом 0
  85.                         { label1.Text = "Ответ : 1"; };
  86.                     }
  87.                     else                                                        // если в текст бокс 1 введен не символ 1 или 0 тогда
  88.                     {MessageBox.Show("Введите 0 или 1");}                       // вывести сообщение "Введите 0 или 1"
  89.                    
  90.                     break;                                                      // остановка
  91.  
  92.                 case 2: // кейс радио кнопки 2 "Коньюкция ( ИЛИ )"
  93.                     if ((textBox1.Text == "0") && (textBox2.Text == "0") ||     // проверяем на заполнение текст бокс 1 и текст бокс 2, либо 1 либо 0
  94.                         (textBox1.Text == "0") && (textBox2.Text == "1") ||
  95.                         (textBox1.Text == "1") && (textBox2.Text == "1") ||
  96.                         (textBox1.Text == "1") && (textBox2.Text == "0"))
  97.                     {                                                           // если введена либо 1 либо 0
  98.                         if (Convert.ToInt32(textBox1.Text) == 1 ||
  99.                             Convert.ToInt32(textBox2.Text) == 1)                // тогда если введена 1 ИЛИ 1 вывести лейбл 1 с текстом 1
  100.                         { label1.Text = "Ответ : 1"; }
  101.                         else                                                    // иначе вывести лейбл 1 с текстом 0
  102.                         { label1.Text = "Ответ : 0"; };
  103.                     }
  104.                     else                                                        // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда
  105.                     { MessageBox.Show("Введите 0 или 1"); }                     // вывести сообщение "Введите 0 или 1"
  106.                     break;                                                      // остановка
  107.  
  108.                 case 3: // кейс радио кнопки 3 "Дизьюкция ( И )"
  109.                     if ((textBox1.Text == "0") && (textBox2.Text == "0") ||     // проверяем на заполнение текст бокс 1 и текст бокс 2, либо 1 либо 0
  110.                         (textBox1.Text == "0") && (textBox2.Text == "1") ||
  111.                         (textBox1.Text == "1") && (textBox2.Text == "1") ||
  112.                         (textBox1.Text == "1") && (textBox2.Text == "0"))
  113.                     {                                                           // если введена либо 1 либо 0
  114.                         if (Convert.ToInt32(textBox1.Text) == 1 &&
  115.                             Convert.ToInt32(textBox2.Text) == 1)                // тогда если введена 1 И 1 вывести лейбл 1 с текстом 1
  116.                         { label1.Text = "Ответ : 1"; }
  117.                         else                                                    // иначе вывести лейбл 1 с текстом 0
  118.                         { label1.Text = "Ответ : 0"; };                        
  119.                     }
  120.                     else                                                        // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда
  121.                     { MessageBox.Show("Введите 0 или 1"); }                     // вывести сообщение "Введите 0 или 1"
  122.                     break;                                                      // остановка
  123.  
  124.                 case 4: // кейс радио кнопки 4 Cложение по модулю два (^)
  125.                    
  126.                     if (((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "0")) ||      // проверяем на заполнение текст бокс 1 и текст бокс 2 и текст бокс 3, либо 1 либо 0
  127.                        ((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
  128.                        ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
  129.                        ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
  130.                        ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
  131.                        ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "0")) ||
  132.                        ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
  133.                        ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
  134.                        ((textBox1.Text == "Х") && (textBox2.Text == "У") && (textBox3.Text == "Z")) ||
  135.                        ((textBox1.Text == "X") && (textBox2.Text == "У") && (textBox3.Text == "Z")) ||
  136.                        ((textBox1.Text == "X") && (textBox2.Text == "Y") && (textBox3.Text == "Z")) ||
  137.                        ((textBox1.Text == "Х") && (textBox2.Text == "Y") && (textBox3.Text == "Z")))
  138.                     {      
  139.                                                                                           // задаем условие по которому должен получится ответ
  140.  
  141.                         if (textBox1.Text == "Х" && textBox2.Text == "х" && textBox2.Text == "X" && textBox2.Text == "x"
  142.                             && textBox2.Text == "У" && textBox2.Text == "у" && textBox2.Text == "Y" && textBox2.Text == "y"
  143.                             && textBox3.Text == "Z")
  144.                         { MessageBox.Show("Пасхальное яйцо найдено!!!"); }
  145.                            
  146.                         else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1              
  147.                             && Convert.ToInt32(textBox3.Text) == 1)                                                  // если ТБ1=1 ТБ2=1 ТБ3=1 то Ответ 1
  148.                         { label1.Text = "Ответ : 1"; }
  149.                         else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
  150.                             && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=0 ТБ2=0 ТБ3=0 то Ответ 0
  151.                         { label1.Text = "Ответ : 0"; }
  152.                         else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
  153.                             && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=1 ТБ2=0 ТБ3=0 то Ответ 1
  154.                         { label1.Text = "Ответ : 1"; }
  155.                         else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
  156.                             && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=0 ТБ2=1 ТБ3=0 то Ответ 1
  157.                         { label1.Text = "Ответ : 1"; }
  158.                         else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1
  159.                             && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=1 ТБ2=1 ТБ3=0 то Ответ 0
  160.                         { label1.Text = "Ответ : 0"; }
  161.                         else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
  162.                             && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=0 ТБ2=0 ТБ3=1 то Ответ 1
  163.                         { label1.Text = "Ответ : 1"; }
  164.                         else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
  165.                             && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=1 ТБ2=0 ТБ3=1 то Ответ 0
  166.                         { label1.Text = "Ответ : 0"; }
  167.                         else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
  168.                             && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=0 ТБ2=1 ТБ3=1 то Ответ 1
  169.                         { label1.Text = "Ответ : 0"; };
  170.                         }
  171.                      
  172.                  
  173.                     else                                       // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда                              
  174.                     { MessageBox.Show("Введите 0 или 1"); }    // вывести сообщение "Введите 0 или 1"
  175.                     break;                                     // остановка
  176.  
  177.                      }
  178.                 }
  179.  
  180.              }
  181.  
  182.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы