Joachim Hansen Skrevet 12. april 2015 Del Skrevet 12. april 2015 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
Emancipate Skrevet 12. april 2015 Del Skrevet 12. april 2015 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. 1 Lenke til kommentar
Joachim Hansen Skrevet 12. april 2015 Forfatter Del Skrevet 12. april 2015 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
muthalova Skrevet 27. april 2015 Del Skrevet 27. april 2015 (endret) 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 Endret 27. april 2015 av muthalova 1 Lenke til kommentar
muthalova Skrevet 27. april 2015 Del Skrevet 27. april 2015 (endret) edit:dobbelpost Endret 27. april 2015 av muthalova Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå