Hvordan kan jeg konvertere String til Int?

Jeg har en TextBoxD1.Text og ønsker å konvertere den til en int for å lagre den i en database.

Hvordan kan jeg gjøre dette?

Løsning

Prøv dette:

int x = Int32.Parse(TextBoxD1.Text);

eller enda bedre:

int x = 0;

Int32.TryParse(TextBoxD1.Text, out x);

Siden Int32.TryParse returnerer en bool, kan du også bruke returverdien til å ta beslutninger om resultatene av parsingsforsøket:

int x = 0;

if (Int32.TryParse(TextBoxD1.Text, out x))
{
    // you know that the parsing attempt
    // was successful
}

Hvis du er nysgjerrig, er forskjellen mellom Parse og TryParse best oppsummert slik:

TryParse-metoden er som Parse-metoden -metoden, bortsett fra at TryParse-metoden ikke kaster et unntak hvis konvertering av konverteringen mislykkes. Det eliminerer behovet for å bruke unntakshåndtering for å teste for en FormatException i hendelsen at s er ugyldig og ikke kan være vellykket analysert. - MSDN

Kommentarer (8)
Convert.ToInt32( TextBoxD1.Text );

Bruk dette hvis du føler deg sikker på at innholdet i tekstboksen er en gyldig int. Et sikrere alternativ er

int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );

Dette vil gi deg en standardverdi du kan bruke. Int32.TryParsereturnerer også en boolsk verdi som angir om den var i stand til å analysere eller ikke, slik at du til og med kan bruke den som betingelse i enif`-setning.

if( Int32.TryParse( TextBoxD1.Text, out val ){
  DoSomething(..);
} else {
  HandleBadInput(..);
}
Kommentarer (2)
int.TryParse()

Det vil ikke kaste hvis teksten ikke er numerisk.

Kommentarer (2)