ahmed youness11 Ответов: 3

Недопустимое Выражение 'Еще'


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
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form a = new Form2();
            string Username = "Username";
            string Password = "Password";
            if ((textBox1.Text == Username) & (textBox2.Text == Password)) ;
            a.ShowDialog(); 
           
            else
            {
            
                a.Close();
            }
        }
    }
}

Sergey Alexandrovich Kryukov

Как вы думаете, если вы зададите такие вопросы обо всех подобных трудностях, это может помочь вам научиться программировать? Ни за что. Это только задержит его. Все, что вам нужно, это работать и использовать свой мозг.
—СА

3 Ответов

Рейтинг:
20

Jibesh

вы завершили оператор if следующим образом ";"

заменить этот

if ((textBox1.Text == Username) & (textBox2.Text == Password)) ;

с этим
if ((textBox1.Text == Username) & (textBox2.Text == Password))


ahmed youness11

ТХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ

[no name]

работает хорошо, спасибо!

Рейтинг:
13

Sergey Alexandrovich Kryukov

Должен быть: if (/* ... */) {/* ... */} else {/* ... */}.

—СА


Jibesh

На этот раз вы стали жестче... просить ОП подумать о своих ошибках, а не о прямом решении ;)

Sergey Alexandrovich Kryukov

Спасибо. Если не думать, то зачем вообще заниматься программированием?
—СА

Jibesh

:) :)

Andreas Gieriet

Мои 5 за ответ и комментарий к вопросу.
Я не пробовал код, но держу пари, что там было приличное сообщение об ошибке на точке с запятой после условия if. Сказав это, я знаю, что иногда человек не видит очевидного, пока кто-то другой не укажет на него ;-)
С другой стороны, операция вставки кода без комментария выглядит немного дешево.
Овации
Энди

Sergey Alexandrovich Kryukov

Спасибо, Энди.

Полустолбец после условия является законным; это означает "пустое утверждение" (и вызывает предупреждение, насколько я помню), но приведенный ниже код нарушает баланс конструкции...
—СА

Andreas Gieriet

Да, я был недостаточно точен в своих показаниях. Есть
1) предупреждение: "возможно ошибочное пустое утверждение"
2) ошибка: "недопустимый термин выражения "else""
3) ошибка: "; ожидается"
Вывод: лучше относиться к предупреждениям как к ошибкам ;-)
Овации
Энди

Sergey Alexandrovich Kryukov

Выяснены. Что касается предупреждений... Предупреждения не являются ошибками, но оставлять одно предупреждение позади недопустимо. Я всегда старался ввести такую дисциплину, что код с каким-либо предупреждением не должен быть зафиксирован в системе контроля версий; это если происходит по ошибкам, то устранение их должно быть в первую очередь. Забудьте о развертывании.

Andreas Gieriet

Я полностью согласен.
Овации
Энди

Sergey Alexandrovich Kryukov

:-)

Рейтинг:
0

pranathis012

ПРИВЕТ,

Пожалуйста, проверьте свою кодировку

if ((textBox1.Text == Username) & (textBox2.Text == Password)) ;



вы не можете использовать точку с запятой ";" в конце условия if.