Member 14130699 Ответов: 3

Оператор If внутри оператора if в C#?


if (e.Control && e.KeyCode == Keys.D2)
          {

              textBox1.Text="2";
          }
           {


Я хочу
if (e.Control && e.KeyCode == Keys.D2)
это произойдет только в том случае, если textbox1.Text = "тест".

Как я могу это сделать
Это очень ново для меня, извините

Что я уже пробовал:


3 Ответов

Рейтинг:
2

phil.o

Вы можете просто добавить третье условие:

if (textBox1.Text.Equals("test") && e.Control && e.KeyCode == Keys.D2)
{
   // ...
}

Или вы можете гнездиться, если блоки:
if (textBox1.Text.Equals("test"))
{
   if (e.Control && e.KeyCode == Keys.D2)
   {
      // ...
   }
}


Рейтинг:
0

OriginalGriff

if (textBox1.Text == "test")
   {
   if (e.Control && e.KeyCode == Keys.D2)
      {
      textBox1.Text="2";
      }
   }
Или
if (textBox1.Text == "test" && e.Control && e.KeyCode == Keys.D2)
   {
   textBox1.Text="2";
   }


F-ES Sitecore

textBox1.Text = "тест"

Первый день изучения c#? ;)

OriginalGriff

Она сама ведет онлайн-курс по дисфагии. Это означает, что каждый раз, когда я сажусь, я получаю крик о помощи, где нажать на сайт, который я никогда не использовал, или ответить на вопрос с множественным выбором по теме, которую я знаю дерьмово. Это меня немного утомляет ...

Рейтинг:
0

MadMyche

Как уже говорилось ранее, вы можете либо объединить операторы IF в один, либо вложить их

// compounded
if (e.Control) && e.KeyCode == Keys.D2 && textbox1.Text == "test" ) {
	textBox1.Text="2";
}
// nested
if (e.Control) && e.KeyCode == Keys.D2) {
	if (textbox1.Text == "test" ) {
		textBox1.Text="2";
	}
}
Теперь одна вещь о вложенной версии заключается в том, что ее можно было бы еще больше расширить, если бы вам пришлось добавлять различные версии третьего условия
if (e.Control) && e.KeyCode == Keys.D2) {
	if (textbox1.Text == "test" ) { textBox1.Text="2"; }
	if (textbox1.Text == "exam" ) { textBox1.Text="3"; }
}
Или если бы там была куча текстовое поле textbox1.Текст значения для проверки вы можете использовать switch...case блок
if (e.Control) && e.KeyCode == Keys.D2) {
	switch(textbox1.Text) {
		case "test":
			textBox1.Text="2";
			break;
		case "exam":
			textBox1.Text="3";
			break;
		case "quiz":
		case "check":
			textBox1.Text = "4";
			break;
		default:
			textBox1.text = "0"
			break;
	}	
}
Ссылка:
Оператор переключения C# | Microsoft Docs[^]
Обратите внимание, что все эти сравнения по умолчанию чувствительны к регистру