Nybegynder søger lidt hjælp

Tags:    c#

<< < 12 > >>
Halløjsa, jeg prøvet nogle C#-tutorials i en uges tid, og så tænkte jeg at jeg kunne prøve at lave noget selv - en regnemaskine.

Fold kodeboks ind/udKode 


Men det lykkes ikke, så er der en som kan give mig lidt assistance.



Jeg tror sku' at jeg har lagt min tråd et forkert sted. Er der nogen som kan be- / afkræfte det?



Jeg skulle mene nu har lagt den det rigtige sted :)



Et hurtigt kig på din kode og det kunne se ud som om du prøver at ligge 2 strings sammen. du skal konvertere det til int's først



Har du ikke bytte rundt på det. I din click event handler har du følgende to linjer kode:

variabel1.Text = Var1.ToString();
variabel2.Text = Var2.ToString();

De tager det du har i Var1, og Var2 (de er begge to nul på dette tidspunkt i din kode) og putter dem ind i de to teksbokse.

Du skal gøre det omvendte:

Var1 = (int)variabel1.Text;
Var2 = (int)variabel2.Text;



Tusind tak til jer begge. Jacob - jeg prøver din metode. Jeg må ærlig indrømme at jeg ikke helt har fået lært hvordan konvertering af string og int foregår... Hvis der er nogen som måske kan forklare det for mig eller kender en guide som kan forklare mig det ville det hjælpe meget.



Det lykkedes ikke. Den melder fejl som lyder:

Cannot implicitly convert type 'string' to 'int'

Fold kodeboks ind/udKode 


Hjælp?




Indlæg senest redigeret d. 13.01.2008 20:17 af Bruger #12583
Prøv:

Var1 = Convert.ToInt32(variabel1.Text);
Var2 = Convert.ToInt32(variabel2.Text);



Hold da ferie, hvor er det fedt at du gider at hjælpe! Tusind tak, det virker fint nu. Kan du forklare lidt om 'Convert.ToInt32'? Jeg har nemlig aldrig arbejdet med den før.



Convert klassen har en masse metoder der kan bruges til at konvertere imellem de grundlæggende typer i C#, såsom int, string, boolean, DateTime osv.

Metoderne tager et argument som er det du skal konvertere fra, og returnerer så resultatet.

Så, Convert.ToIn32 tager f.eks. en tekststreng (dvs. objet af typen string) og returnerer en int. Såfremt den tekststreng du giver den ikke kan konverteres kastes i stedet en exception.

Hvis du ikke er sikker på om du kan lave en given konvertering kan du bruge metoden TryParse som findes i de forskellige typers klasse. F.eks. Double.TryParse eller Int32.TryParse osv.



Man skal i det hele taget altid passe på med at benytte eksplicit type casting.

I øvrigt ville jeg i sådan et tilfælde her lægge det ind i et try-catch-statement. Især i det her tilfælde hvor du ikke ved præcist om brugeren skriver et tal eller alt muligt andet.

Se følgende link om konvertering af data typer:
http://msdn2.microsoft.com/en-us/library/98bbex99(VS.80).aspx

Det skal siges at der er forskel på conversion og parsing i mere end en forstand. Det står der også noget om i ovenstående link og sublinks.



Indlæg senest redigeret d. 15.01.2008 01:55 af Bruger #2243
<< < 12 > >>
t