Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Tante if un'unica else C#
Forum - C# / VB.NET - Tante if un'unica else C#

Avatar
DexterELEL (Normal User)
Pro


Messaggi: 67
Iscritto: 05/01/2011

Segnala al moderatore
Postato alle 13:07
Lunedì, 10/01/2011
Ragazzi ho tante istruzioni if ma voglio che l'else sia solo 1 per tutti esempio

Se Faccio così se sbaglio nome mi devo leggere 4 message box io voglio che il message box sia solo 1

Codice sorgente - presumibilmente C# / VB.NET

  1. if (textBox1.Text == "asd")
  2.             {
  3.                this.Hide();
  4.             }
  5.             else
  6.             {
  7.                 MessageBox.Show("Nome non valido", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
  8.             }
  9.             if (textBox1.Text == "asd1")
  10.             {
  11.                 this.Hide();
  12.             }
  13.             else
  14.             {
  15.                 MessageBox.Show("Nome non valido", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
  16.             }
  17.             if (textBox1.Text == "asd2")
  18.             {
  19.                 this.Hide();
  20.             }
  21.             else
  22.             {
  23.                 MessageBox.Show("Nome non valido", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
  24.             }
  25.             if (textBox1.Text == "asd3")
  26.             {
  27.                 this.Hide();
  28.             }
  29.             else
  30.             {
  31.                 MessageBox.Show("Nome non valido", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
  32.             }
  33.             if (textBox1.Text == "asd4")
  34.             {
  35.                 this.Hide();
  36.             }
  37.             else
  38.             {
  39.                 MessageBox.Show("Nome non valido", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
  40.             }



Se lo metto così l'errore esce a tutti anche se i nomi sono corretti e dp esegue this.hide(); tranne per asd dove c'è l'else

Codice sorgente - presumibilmente C# / VB.NET

  1. if (textBox1.Text == "asd")
  2.             {
  3.                this.Hide();
  4.             }
  5.             else
  6.             {
  7.                 MessageBox.Show("Nome non valido", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
  8.             if (textBox1.Text == "asd1")
  9.             {
  10.                 this.Hide();
  11.             }
  12.             if (textBox1.Text == "asd2")
  13.             {
  14.                 this.Hide();
  15.             }
  16.             if (textBox1.Text == "asd3")
  17.             {
  18.                 this.Hide();
  19.             }
  20.             if (textBox1.Text == "asd4")
  21.             {
  22.                 this.Hide();
  23.             }
  24.             }



PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
2
Down
V
Segnala al moderatore
Postato alle 18:07
Lunedì, 10/01/2011
Non esiste il select case in C#, semmai esiste lo switch. Comunque anche lo switch è inutile per un compito così semplice. Basta usare un or per legare tutte le condizioni:
Codice sorgente - presumibilmente C# / VB.NET

  1. if (TextBox1.Text == "asd" || TextBox1.Text == "asd1" || ...)
  2.    this.Hide();
  3. else
  4.    // ...


In alternativa:
Codice sorgente - presumibilmente C# / VB.NET

  1. String[] words = {"asd", "asd1", ... }
  2.  
  3. if (words.Contains(TextBox1.Text))
  4.    this.Hide();
  5. else
  6.    // ...



"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
DexterELEL (Normal User)
Pro


Messaggi: 67
Iscritto: 05/01/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 13:16
Lunedì, 10/01/2011
Scusate il doppio post ho risolto lasciando aperte le else alla fine delle if e alla fine del programma le ho chiuse tutte...

PM
Avatar
Gianluca87 (Ex-Member)
Expert


Messaggi: 300
Iscritto: 16/11/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 14:38
Lunedì, 10/01/2011
usa il costrutto "else if" e chiudi con "else"


a domanda precisa, risposta precisa...
a domanda generica, risposta generica...
PM
Avatar
Dyango (Normal User)
Pro


Messaggi: 83
Iscritto: 02/01/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 16:36
Lunedì, 10/01/2011
Testo quotato

Postato originariamente da DexterELEL:

Scusate il doppio post ho risolto lasciando aperte le else alla fine delle if e alla fine del programma le ho chiuse tutte...


...oppure usa il select case


la saggezza di un uomo non dipende da quante cose sà ma da quante informazioni riesce a trovare
PM