Gå til innhold

Anbefalte innlegg

Jeg har en funksjon som skal teste om det brukeren tastet i en textbox er det samme som det han hadde valgt fra en combobox (dropdown liste). Dette fungerer greit for når strengen han valgte er "password" (lower case), men ikke når strengen han valgte fra comboboxen er "Password" (mixed case).

 

Det jeg ønsker er at String.Equals("Password", "Password") skal retunere true og String.Equals("Password", "password") skal retunere false. Case er derfor viktig for meg.

 

Dette tenkte jeg ville være uproblematisk, men String.Equals() oppfører seg litt merkelig (som du kan se fra outputten nederst i innlegget). Noen som kan forklare meg hvorfor outputten blir som den blir.

 

ekstra info: 

textBox1.Text = "Password"

comboBox1.SelectedItem.ToString()  = "Password" 

 

(eksempel kode C# som viser problemet)

String password1 = textBox1.Text.ToString(), password2 = comboBox1.SelectedItem.ToString();
String password3 = "Password", password4 = "Password";

// output (prints true or false)
MessageBox.Show(String.Equals(textBox1.Text, comboBox1.SelectedItem.ToString()).ToString());
MessageBox.Show(String.Equals(password1, password2).ToString());
MessageBox.Show(String.Equals(password3, password4).ToString());

output:

 

false

false

true 

-----------------------------------------------------------------------------------------------------------------------------

 

Lenke til kommentar
Videoannonse
Annonse

Prøv å legg inn dette på linja etter // output for å sjekke om ting er som du tror

 

MessageBox.Show(textBox1.Text);
MessageBox.Show(textBox1.Text.ToString());
MessageBox.Show(comboBox1.SelectedItem.ToString());

 

En mulig feilkilde er om det er linjeskift etter disse.

  • Liker 1
Lenke til kommentar

Prøv å legg inn dette på linja etter // output for å sjekke om ting er som du tror

MessageBox.Show(textBox1.Text);
MessageBox.Show(textBox1.Text.ToString());
MessageBox.Show(comboBox1.SelectedItem.ToString());

En mulig feilkilde er om det er linjeskift etter disse.

 

Takk for svar :) 

 

Jeg hadde så klart fått til å satt inn Strengene i comboboxen feil. Grunnen "password" gikk og ikke "Password" var at jeg hadde klart å satt in "Password " (med space på slutten) hehe.

Lenke til kommentar
  • 3 uker senere...

 

Prøv å legg inn dette på linja etter // output for å sjekke om ting er som du tror

MessageBox.Show(textBox1.Text);
MessageBox.Show(textBox1.Text.ToString());
MessageBox.Show(comboBox1.SelectedItem.ToString());

En mulig feilkilde er om det er linjeskift etter disse.

 

Takk for svar :)

 

Jeg hadde så klart fått til å satt inn Strengene i comboboxen feil. Grunnen "password" gikk og ikke "Password" var at jeg hadde klart å satt in "Password " (med space på slutten) hehe.

 

 

trim()    :) Med mindre du vil tillate space på starten/slutten av passordene   :hmm:

Endret av muthalova
  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...