2010-09-07 6 views
0

Как я могу проверить наличие ошибок. Если человек вводит неверное имя или оленья кожа по буквам правильно я хотел бы для MessageBox.Show, чтобы отобразить сообщение о том, «Неправильное имя или написание»Проверка ошибок при вводе неправильного имени пользователя

private void button1_Click(object sender, EventArgs e) 
    { 
     String Andrea; 
     String Brittany; 
     String Eric; 
     if (textBox1.Text == ("Andrea")) 
      Commission.Text = (Convert.ToDouble(textBox2.Text)/10).ToString(); 
     if (textBox1.Text == ("Brittany")) 
      Commission.Text = (Convert.ToDouble(textBox2.Text)/10).ToString(); 
     if (textBox1.Text ==("Eric")) 
      Commission.Text = (Convert.ToDouble(textBox2.Text)/10).ToString(); 

     { 

     } 

    } 

ответ

2

Вам нужно будет держать список или «словарь» в правильные имена.

Затем вы можете сопоставить текст с элементами в словаре.

код будет выглядеть примерно следующим образом:

HashSet<string> correctNames = ;// initialize the set with the names you want 

private void button1_Click(object sender, EventArgs e) 
{ 
    if (correctNames.Contains(textBox1.Text)) 
     Commission.Text = (Convert.ToDouble(textBox2.Text)/10).ToString(); 
    else 
    { 
     MessageBox.Show("The speling of the naem " + textBox1.Text + " was incorect", "Bad Spelling Error"); 
    } 
} 

Вы, вероятно, хотите использовать правильное написание в вашей реализации.

Просмотрите the documentation for HashSet, чтобы получить лучшее представление о том, как его использовать.

+1

+1 Было бы смешно, если сообщение было "Bad Speling EROR" – SwDevMan81

+0

@SwDev, фиксированный ': P' – jjnguy

+0

Ахаха прикольно! Хорошая рекомендация по HashSet также, поиск, вероятно, быстрее, чем list.Contains() – SwDevMan81

0

Бросьте все имена в коллекции, такие как Список или Словарь, затем используйте метод .Contains(). Это должно обеспечить более аккуратное решение.

1

Это будет проверять любое имя в списке равно TextBox введенное имя:

List<string> nameList = new List<string>(); 

nameList.Add("Andrea"); 
nameList.Add("Brittany"); 
nameList.Add("Eric"); 

if (nameList.Contains(textBox1.Text)) 
{ 
    //Process name here. 
} 
else 
{ 
    //Show messagebox here. 
} 
+0

... или используйте 'Содержит'. – Timwi

+0

Да, понял, что сразу после публикации, ха. – Ocelot20

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