Avatar billede j3ppah Novice
26. maj 2009 - 11:00 Der er 7 kommentarer og
1 løsning

textbox = String or Int32?

Yaw...
Sidder med et mindre problem... synes ikke jeg kan finde en holdbar løsning til at checke om en textbox er fyldt med int's eller char's..

Kunne forestille mig jeg skal prøve at converte textboxen til int. og så checke op på om det kunne lade sig gøre eller lignende... ved fx catch exeption.
Synes bare ikke lige jeg kan få det til at spille...

En der lige har en snedig ide?
PS. DET SKAL VÆRE EN TEXTBOX.


ideen med koden er:

If(Textbox.Text == Int32)
{
Gør hvad der skal gøres.
}
Else
{
Gør hvad der skal gøres.
}




noget i den duer.
Avatar billede j3ppah Novice
26. maj 2009 - 11:24 #1
Fandt en løsning.

int check;
            string check1;
           
            try
            {
                check = Convert.ToInt32(OpenID_TB.Text);
                check1 = "int";
            }
            catch (Exception) { check1 = "string"; };

            if (check1 == "int")
            {
                MessageBox.Show("int");
            }
            if (check1 == "string")
            {
                MessageBox.Show("string");
            }
Avatar billede Syska Mester
26. maj 2009 - 11:25 #2
Jeg kommer på 2 muligheder ..

Regex

eller

int i;
if(int.TryParse("84123904", out i))
{
// gik godt
}
else
{
// kunne ikke parses som en int
}
Avatar billede j3ppah Novice
26. maj 2009 - 11:31 #3
Ren nysgerrighed, hvad er Regex ?
Avatar billede aaberg Nybegynder
26. maj 2009 - 11:53 #4
Regex er navnet på .NET klassen som kan tolke regular expressions. Regular expressions er kort fortalt en metode for at søge efter mønstre i tekst.

Se eventuelt dette link:
http://www.radsoftware.com.au/articles/regexlearnsyntax.aspx
Avatar billede j3ppah Novice
26. maj 2009 - 11:57 #5
tak aaberg_cc, ser ud til at kunne udnyttes hvis man har styr på det. :)... Tror bare jeg holder mig til mit lav neveau programmering ;)
Avatar billede softspot Forsker
26. maj 2009 - 12:27 #6
Det er fint nok at holde sig til det niveau man føler sig tryg ved, men man skal udfordre sig selv lidt (engang imellem) for at udvikle sig... ;-)

En af de ting din egen version gør "forkert", er at basere et relativt simpelt check på exceptions, hvilket, af performancemæssige hensyn, ikke er tilrådeligt.

Det er fair nok, ikke at kaste sig over Regex, men den anden metode som buzzzz viser, er i det mindste mere effektiv end at sætte en exception op til at hjælpe med dit check. Exceptions er tunge at håndtere, så dem bør man ikke bruge, med mindre der er ikke er andre muligheder for at få sin programlogik til at hænge sammen...
Avatar billede aaberg Nybegynder
26. maj 2009 - 12:30 #7
Regular expressions er efter min mening også overkill, hvis du bare skal tjekke om teksten i en textbox er et tal. Brug den anden måde buzzzz foreslår. At bruge try-catch vil virke, men er ikke en optimal løsning.
Avatar billede j3ppah Novice
26. maj 2009 - 12:55 #8
hehe, er rigeligt med udfordring i den opgave jeg sidder med :)... Er satme ved at fylde noget kode...

starter sku lige med at få lavet det hele, så kan det jo altid optimeres senere...

Men takker i hvertfald for forklaringerne og lignende,.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester