Vad är skillnaden mellan int Parse och Convert ToInt32 i C #

De huvudskillnad mellan int Parse och Convert ToInt32 i C # är det passerar ett nullvärde till int Parse kommer att kasta en ArgumentNullException medan du skickar ett nullvärde till Convert ToInt32 kommer att ge noll.

C # är ett modernt, allmänt ändamålsenligt programmerat språk på hög nivå som utvecklats av Microsoft. Det är en del av .NET-ramverket. Det låter skriva enkla och effektiva program. En sträng är en datatyp som har en sekvens av tecken. Vid programmering krävs det att man utför bearbetning på strängar. Det finns olika metoder för att konvertera en sträng till ett heltal. Två av dem är med hjälp av int.Parse och Convert ToInt32.

Viktiga områden som omfattas

1. Vad är int Parse
     - Definition, Funktionalitet
2. Vad är Convert Toint32
     - Definition, Funktionalitet
3. Vad är likheterna mellan int Parse och Convert ToInt32 i C #
     - Beskriv de gemensamma funktionerna
4. Vad är skillnaden mellan int Parse och Convert ToInt32 i C #
     - Jämförelse av viktiga skillnader

Nyckelbegrepp

C #, Convert Toint 32, Int Parse

Vad är int Parse

Huvudsyftet med att använda int Parse är att konvertera en sträng till ett heltal.

Figur 1: Program 1 med int Parse

Enligt ovanstående program lagras str en sträng. Int.Parse omvandlar det till ett heltal. Därefter lagras värdet i det rörliga resultatet. Slutligen visas heltalets värde på skärmen.

Om strängen är null, kommer den att kasta en ArgumentNullException.

Figur 2: Program 2 med int Parse

Enligt ovanstående program lagrar str2 noll. Int.Parse försöker konvertera det till en int och lagrar svaret i det rörliga resultatet. Eftersom str2 är null är det inte möjligt att utföra omvandlingen. Således ger den en ArgumentNullException. Sedan utförs fångstblocket, och undantagsmeddelandet visas på skärmen.

Figur 3: Program 3 med int Parse

Enligt ovanstående program lagrar str3 en sträng. Int.Parse försöker konvertera det till en int och lagrar svaret i resultatvariabeln. Eftersom värdet är ett decimaltal är det inte möjligt att utföra konverteringen. Således ger det en FormatException. Därför exekverar fångblocket, och undantagsmeddelandet visas på skärmen.

Figur 4: Program 4 med int Parse

Enligt ovanstående program lagrar str4 en sträng. Int.Parse försöker konvertera det till en int och lagrar svaret i resultatvariabeln. Eftersom värdet är för stort är det inte möjligt att utföra konverteringen. Så, det ger en OverflowException. Därför exekverar fångblocket, och undantagsmeddelandet visas på skärmen.

Vad är Convert ToInt32

Huvudsyftet med att använda Convert ToInt32 är att konvertera en sträng till ett heltal.

Figur 5: Program 1 med Konvertera till

Enligt ovanstående program är str en sträng. Convert.ToInt omvandlar det till ett heltal. Därefter lagras värdet i det rörliga resultatet. Slutligen visas heltalets värde på skärmen.

Figur 6: Program 2 med Konvertera tillInt

Enligt ovanstående program lagrar str2 noll. Convert.ToInt32 konverteras till ett heltal och butiker i resultatvariabeln. Slutligen kommer det att visa värdet 0 på skärmen.

Figur 7: Program 3 med Konvertera tillInt

Enligt ovanstående program lagrar str3 en sträng. Convert.ToInt32 försöker konvertera det till en int och lagrar svaret i resultatvariabeln. Eftersom värdet är ett decimaltal är det inte möjligt att utföra konverteringen. Så, det ger en FormatException. Därför exekverar fångblocket, och undantagsmeddelandet visas på skärmen.

Figur 8: Program 4 med Convert.ToInt32

Enligt ovanstående program lagrar str4 en sträng. Convert.ToInt32 försöker konvertera det till en int och lagrar svaret i resultatvariabeln. Eftersom värdet är för stort är det inte möjligt att utföra omvandlingen, vilket ger en OverflowException. Därför exekverar fångblocket, och undantagsmeddelandet visas på skärmen.

Likheter mellan int Parse och Convert toInt32 i C #

  • Både int Parse och Convert ToInt32 i C # konvertera en sträng till ett heltal.
  • I båda fallen ger en annan datatyp än ett heltal ett format undantag.
  • Dessutom kommer överföring av ett stort värde att ge överflödes undantag.

Skillnad mellan int Parse och Convert ToInt32 i C #

Definition

Int.Parse är en metod i C # som omvandlar en strängrepresentation till ett motsvarande numeriskt heltalsvärde. Convert.ToInt32 är en metod i C # som konverterar en specificerad strängrepresentation av ett tal till ett motsvarande 32-bitars signerat heltal. Detta förklarar huvudskillnaden mellan int Parse och Convert ToInt32 i C #.

Syntax

Syntaxen för int Parse är int.Parse (sträng s); medan syntax för Convert Toint 32 är Convert.ToInt32 (sträng s);

Passerar ett nollvärde

En annan skillnad mellan int Parse och Convert ToInt32 i C # är att intemparse kommer att ge en ArgumentNullException medan Convert.ToInt32 ger ett nollvärde. 

Slutsats

I korthet är int.Parse och Convert ToInt32 två metoder för att konvertera en sträng till ett heltal. Huvudskillnaden mellan int Parse och Convert ToInt32 i C # är att passera ett nullvärde till int Parse kommer att kasta en ArgumentNullException medan du skickar ett nullvärde till Convert ToInt32 kommer att ge noll.

Referens:

1. BillWagner. "Hur man: Konvertera en sträng till ett nummer (C # Programmeringsguide)." Microsoft Docs, tillgängligt här.
2. "Convert.ToInt32 Method (System)." Convert.ToInt32 Method (System) | Microsoft Docs, tillgänglig här.