Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve a tutti, sto provando a imparare il C#!
Il problema è che non conosco ne C ne C++ ma solo VBNet e il passaggio mi riesce (dal punto di vista della sintassi) piuttosto difficile...
veniamo al dunque, se devo sommare 2 numeri inseriti dall'utente in input in due textbox, in vbnet facevo
Codice sorgente - presumibilmente VB.NET
dim a as single
dim b as single
dim c as single=0
a=val(txt1.text)
b=val(txt2.text)
c=a+b
messagebox.show("risultato:"& c)
in c# (direi eh)
Codice sorgente - presumibilmente C# / VB.NET
single a;
single b;
single c;
a=txt1.text;
b=txt2.text;
c=a+b;
messagebox.show("risultato" + c);
il problema è che a e b sono 2 stringhe e quindi lui me le concatena solo
(per esempio se inserisco 5 e 4 il risultato è 54 )
Tutto questo perche non trovo (non so se c è!) la funzione Val()!
Ultima modifica effettuata da superchecco il 24/10/2007 alle 8:57
Postato originariamente da superchecco: Tutto questo perche non trovo (non so se c è!) la funzione Val()!
Tutto quello che si può fare in VB.NET si può fare anche in C# (non è vero il contrario).
Ma veniamo al dunque:
Il C# dispone di una classe chiamata Convert che ha la funzione che cerchi.
Quindi:
Codice sorgente - presumibilmente C# / VB.NET
float a;
float b;
float c;
[b]a = Convert.ToSingle(txt1.Text);
b = Convert.ToSingle(txt2.Text);[/b]
c=a+b;
[b]MessageBox.Show("risultato" + c);[/b]
Premesso che il C# è Case-Sensitive, quindi 'a' è diverso da 'A'.
Inoltre come puoi vedere 'single' di VB.NET in C# si dichiara come float (che poi sarebbe la struct Single).
Val è una funzione vb6: inoltre non converte tutte la stringa in un numero, ma solo il primo carattere. E' quindi inutile. D'altra parta, si puo' sempre usare l'operatore CType, che è molto più rapido e flessibile di Convert.