Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Uso di contains()
Forum - C# / VB.NET - Uso di contains()

Avatar
Due (Normal User)
Pro


Messaggi: 68
Iscritto: 19/10/2007

Segnala al moderatore
Postato alle 22:02
Mercoledì, 02/07/2008
Sto facendo un programma in cui l'utente può aggiungere degli elementi ad una listbox. Questi elementi però DEVONO contenere almeno uno spazio e essere lunghi almeno un carattere.
Ho scritto allora questo codice
Codice sorgente - presumibilmente VB.NET

  1. Private Sub bttNuovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttNuovo.Click
  2.         Dim el As String
  3.         el = InputBox("Nome elemento:")
  4.         If el <> "" Or el.Contains(" ") = True Then
  5.             ListBox1.Items.Add(el)
  6.         Else : MsgBox("Errore")
  7.         End If
  8.     End Sub


Nel primo caso (cioè quando el="") il programma avverte dell'errore, ma nel secondo no.
Cioè, forse c'è un errore nella parte el.Contains(" ") = True, perché che io inserisca spazi oppure no il programma se ne frega :asd:
Qualcuno sa cosa ho sbagliato?

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 22:45
Mercoledì, 02/07/2008
Ecco così funziona:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub bttNuovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bttNuovo.Click
  2.         Dim el As String
  3.         el = InputBox("Nome elemento:")
  4.         If String.IsNullOrEmpty(el) = True Or el.Contains(" ") Then
  5.             MsgBox("Errore")
  6.         Else
  7.             ListBox1.Items.Add(el)
  8.         End If
  9. End Sub


:k:

Ultima modifica effettuata da Progman-92 il 02/07/2008 alle 22:47
PM Quote
Avatar
Due (Normal User)
Pro


Messaggi: 68
Iscritto: 19/10/2007

Segnala al moderatore
Postato alle 17:58
Giovedì, 03/07/2008
A quanto pare gli da dei problemi l' "Or"...comunque come hai messo tu funziona, per eliminare il problema dell'or mi è bastato aggiungere un ElseIf e separare i casi. Grazie :k:

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 17:58
Giovedì, 03/07/2008
Niente :rotfl:

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:08
Sabato, 12/07/2008
Se el deve contenere almeno uno spazio, significa che dà errore se NON lo contiene. Nel tuo if, invece, dà errore se LO contiene.
Codice sorgente - presumibilmente VB.NET

  1. If String.IsNullOrEmpty(el) OrElse el.Contains(" ") = False Then '...


PM Quote