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

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

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

Доброго времени суток... Решил сделать в программке (домашнем задании) не большое "Пасхальное Яйцо" вообщем то имеем три текст бокса. имеем проверку их заполнения, но они должны заполняться только 1 или 0 так же есть еще допустимый вариант когда в текст бокс 1 стоит символ Х в текст бокс 2 стоит символ У в текст бокс 3 стоит Z , в других вариация вводить символы нельзя, иначе выйдет сообщение с предупреждением ну и собственно реализован алгоритм действий если в текст боксы введены символы удовлетворяющие условию описаному выше... так вот , когда введен 1 или 0 во все боксы, все работает норма, Но проблемы, с буквами... вообщем мне нужно взять символ из текст бокса и сравнить его с другим символм, если они совпадают то выдать определенное текстовое предупреждение. все что мне удалось реализовать это только то что программа не ругается на то что введены символы Икс, Игрик и Z ,и начинает работать дальше, но естественно выпадает в ступор не найдя 1 или 0 , так как мне ни как не получается сравнить сивол из текст бокса с моими... привожу кусок кода
if (((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "0")) ||      // проверяем на заполнение текст бокс 1 и текст бокс 2 и текст бокс 3, либо 1 либо 0
                       ((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "0")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
                       ((textBox1.Text == "X") && (textBox2.Text == "Y") && (textBox3.Text == "Z")))
                    {      
                                                                                          // задаем условие по которому должен получится ответ
                        
                        if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1              
                            && Convert.ToInt32(textBox3.Text) == 1)                                                  // если ТБ1=1 ТБ2=1 ТБ3=1 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=0 ТБ2=0 ТБ3=0 то Ответ 0
                        { label1.Text = "Ответ : 0"; }
                        else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=1 ТБ2=0 ТБ3=0 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=0 ТБ2=1 ТБ3=0 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=1 ТБ2=1 ТБ3=0 то Ответ 0
                        { label1.Text = "Ответ : 0"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=0 ТБ2=0 ТБ3=1 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=1 ТБ2=0 ТБ3=1 то Ответ 0
                        { label1.Text = "Ответ : 0"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
                            && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=0 ТБ2=1 ТБ3=1 то Ответ 1
                        { label1.Text = "Ответ : 0"; };

                    }
                    else                                       // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда                              
                    { MessageBox.Show("Введите 0 или 1"); }    // вывести сообщение "Введите 0 или 1"
                    break;                                     // остановка
как только начинаю играться по подобию уже написаного , программа меня осаживает и постоянно тыкает носом в то что я не могу так делать, потому что это тип стринг...а как тогда сделать?

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
 
        int operacia; // это номер операции
        public Form1() // первоначальная инициализация при запуске
        {
            InitializeComponent(); // инициализация компонентов
            textBox1.Visible = false; // делаем невидимым текст бокс1
            textBox2.Visible = false; // делаем невидимым текст бокс2
            textBox3.Visible = false; // делаем невидимым текст бокс3
            label1.Text = ""; // делаем невидимым лейбл1
            label3.Text = ""; // делаем невидимым лейбл3
            label4.Text = ""; // делаем невидимым лейбл4
            label5.Text = ""; // делаем невидимым лейбл5
        }
 
        private void radioButton1_CheckedChanged_1(object sender, EventArgs e)
        // нажатие на радио кнопку 1 "Отрицание ( НЕ )"
        {
            textBox1.Visible = true;  // показываем текст бокс1
            textBox2.Visible = false; // скрываем текст бокс2
            textBox3.Visible = false; // скрываем текст бокс3
            label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
            label4.Text = ""; // делаем невидимым лейбл4
            label5.Text = ""; // делаем невидимым лейбл5
            operacia = 1; // это номер операции привязанной к радио кнопке 1 "Отрицание ( НЕ )"
        }
 
        private void radioButton2_CheckedChanged_1(object sender, EventArgs e)
        // нажатие на радио кнопку 2 "Коньюкция ( ИЛИ )"
        {
            textBox1.Visible = true;  // показываем текст бокс1
            textBox2.Visible = true;  // показываем текст бокс2
            textBox3.Visible = false; // скрываем текст бокс3
            label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
            label4.Text = "Введите 2 опреанду"; // выводим информационный лейбл вместе с текст боксом2
            operacia = 2; // это номер операции привязанной к радио кнопке 2 "Коньюкция ( ИЛИ )"
        }
 
        private void radioButton3_CheckedChanged_1(object sender, EventArgs e)
        // нажатие на радио кнопку 3 "Дизьюкция ( И )"
        {
            textBox1.Visible = true;  // показываем текст бокс1
            textBox2.Visible = true;  // показываем текст бокс2
            textBox3.Visible = false; // скрываем невидимым текст бокс3
            label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
            label4.Text = "Введите 2 опреанду"; // выводим информационный лейбл вместе с текст боксом2
            operacia = 3; // это номер операции привязанной к радио кнопке 3 "Дизьюкция ( И )"
        }
 
        private void radioButton4_CheckedChanged_1(object sender, EventArgs e)
        // нажатие на радио кнопку 4 "Cложение по модулю два (^)"
        {
            textBox1.Visible = true; // показываем текст бокс1
            textBox2.Visible = true; // показываем текст бокс2
            textBox3.Visible = true; // показываем текст бокс3
            label3.Text = "Введите 1 опреанду"; // выводим информационный лейбл вместе с текст боксом1
            label4.Text = "Введите 2 опреанду"; // выводим информационный лейбл вместе с текст боксом2
            label5.Text = "Введите 3 опреанду"; // выводим информационный лейбл вместе с текст боксом3
            operacia = 4; // это номер операции привязанной к радио кнопке 4 "Cложение по модулю два (^)"
        }
 
        private void button1_Click_1(object sender, EventArgs e) // нажатие на кнопку "решение"
        {
            switch (operacia) // делим операции на кейсы в зависимости от выбраной радио кнопки
            {
                
                case 1: // кейс радио кнопки 1 "Отрицание ( НЕ )"
                    if ((textBox1.Text == "0") || (textBox1.Text == "1"))       // проверяем на заполнение текст бокс 1, либо 1 либо 0
                    {                                                           // если введена либо 1 либо 0
                        if (Convert.ToInt32(textBox1.Text) == 1)                // тогда если введена 1 вывести лейбл 1 с текстом 1
                        { label1.Text = "Ответ : 0"; };
                        if (Convert.ToInt32(textBox1.Text) == 0)                // тогда если введена 0 вывести лейбл 1 с текстом 0
                        { label1.Text = "Ответ : 1"; };
                    }
                    else                                                        // если в текст бокс 1 введен не символ 1 или 0 тогда
                    {MessageBox.Show("Введите 0 или 1");}                       // вывести сообщение "Введите 0 или 1"
                    
                    break;                                                      // остановка 
 
                case 2: // кейс радио кнопки 2 "Коньюкция ( ИЛИ )"
                    if ((textBox1.Text == "0") && (textBox2.Text == "0") ||     // проверяем на заполнение текст бокс 1 и текст бокс 2, либо 1 либо 0
                        (textBox1.Text == "0") && (textBox2.Text == "1") ||
                        (textBox1.Text == "1") && (textBox2.Text == "1") ||
                        (textBox1.Text == "1") && (textBox2.Text == "0"))
                    {                                                           // если введена либо 1 либо 0
                        if (Convert.ToInt32(textBox1.Text) == 1 || 
                            Convert.ToInt32(textBox2.Text) == 1)                // тогда если введена 1 ИЛИ 1 вывести лейбл 1 с текстом 1
                        { label1.Text = "Ответ : 1"; }
                        else                                                    // иначе вывести лейбл 1 с текстом 0
                        { label1.Text = "Ответ : 0"; };
                    }
                    else                                                        // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда
                    { MessageBox.Show("Введите 0 или 1"); }                     // вывести сообщение "Введите 0 или 1"
                    break;                                                      // остановка
 
                case 3: // кейс радио кнопки 3 "Дизьюкция ( И )"
                    if ((textBox1.Text == "0") && (textBox2.Text == "0") ||     // проверяем на заполнение текст бокс 1 и текст бокс 2, либо 1 либо 0
                        (textBox1.Text == "0") && (textBox2.Text == "1") ||
                        (textBox1.Text == "1") && (textBox2.Text == "1") ||
                        (textBox1.Text == "1") && (textBox2.Text == "0"))
                    {                                                           // если введена либо 1 либо 0
                        if (Convert.ToInt32(textBox1.Text) == 1 &&
                            Convert.ToInt32(textBox2.Text) == 1)                // тогда если введена 1 И 1 вывести лейбл 1 с текстом 1
                        { label1.Text = "Ответ : 1"; }
                        else                                                    // иначе вывести лейбл 1 с текстом 0
                        { label1.Text = "Ответ : 0"; };                         
                    }
                    else                                                        // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда
                    { MessageBox.Show("Введите 0 или 1"); }                     // вывести сообщение "Введите 0 или 1"
                    break;                                                      // остановка
 
                case 4: // кейс радио кнопки 4 Cложение по модулю два (^)
                    
                    if (((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "0")) ||      // проверяем на заполнение текст бокс 1 и текст бокс 2 и текст бокс 3, либо 1 либо 0
                       ((textBox1.Text == "0") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "0")) ||
                       ((textBox1.Text == "1") && (textBox2.Text == "0") && (textBox3.Text == "1")) ||
                       ((textBox1.Text == "0") && (textBox2.Text == "1") && (textBox3.Text == "0")) ||
                       ((textBox1.Text == "Х") && (textBox2.Text == "У") && (textBox3.Text == "Z")) ||
                       ((textBox1.Text == "X") && (textBox2.Text == "У") && (textBox3.Text == "Z")) ||
                       ((textBox1.Text == "X") && (textBox2.Text == "Y") && (textBox3.Text == "Z")) ||
                       ((textBox1.Text == "Х") && (textBox2.Text == "Y") && (textBox3.Text == "Z")))
                    {      
                                                                                          // задаем условие по которому должен получится ответ
 
                        if (textBox1.Text == "Х" && textBox2.Text == "х" && textBox2.Text == "X" && textBox2.Text == "x"
                            && textBox2.Text == "У" && textBox2.Text == "у" && textBox2.Text == "Y" && textBox2.Text == "y"
                            && textBox3.Text == "Z")
                        { MessageBox.Show("Пасхальное яйцо найдено!!!"); }
                            
                        else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1              
                            && Convert.ToInt32(textBox3.Text) == 1)                                                  // если ТБ1=1 ТБ2=1 ТБ3=1 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=0 ТБ2=0 ТБ3=0 то Ответ 0
                        { label1.Text = "Ответ : 0"; }
                        else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=1 ТБ2=0 ТБ3=0 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=0 ТБ2=1 ТБ3=0 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 1
                            && Convert.ToInt32(textBox3.Text) == 0)                                                 // если ТБ1=1 ТБ2=1 ТБ3=0 то Ответ 0
                        { label1.Text = "Ответ : 0"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=0 ТБ2=0 ТБ3=1 то Ответ 1
                        { label1.Text = "Ответ : 1"; }
                        else if (Convert.ToInt32(textBox1.Text) == 1 && Convert.ToInt32(textBox2.Text) == 0
                            && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=1 ТБ2=0 ТБ3=1 то Ответ 0
                        { label1.Text = "Ответ : 0"; }
                        else if (Convert.ToInt32(textBox1.Text) == 0 && Convert.ToInt32(textBox2.Text) == 1
                            && Convert.ToInt32(textBox3.Text) == 1)                                                 // если ТБ1=0 ТБ2=1 ТБ3=1 то Ответ 1
                        { label1.Text = "Ответ : 0"; };
                        }
                      
                  
                    else                                       // если в текст бокс 1 и текст бокс 2 введены не символы 1 или 0 тогда                              
                    { MessageBox.Show("Введите 0 или 1"); }    // вывести сообщение "Введите 0 или 1"
                    break;                                     // остановка
 
                     }
                }
 
             }
 
        }

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


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

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

8   голосов , оценка 3.875 из 5
Похожие ответы