Wie konvertiert man eine Zeichenkette in Int in C#
-
C#
string
nachint
Konvertierung -Int16.Parse()
/Int32.Parse()
/Int64.Parse()
Methode -
C#
string
nachint
Konvertierung -Int16.TryParse()
/Int32.TryParse()
/Int64.TryParse()
Methode -
C#
String
nachInt
Konvertierung -Konvertieren.ToInt16()
/Konvertieren.ToInt32()
/Konvertieren.ToInt64()
Methode
Die Konvertierung einer String
in int ist ein Kinderspiel, wenn es um die Codierung in C# geht, aber es gibt bestimmte Dinge, die Sie beachten müssen. In diesem Artikel werden wir einige der einfachsten und empfohlenen Methoden zur Erreichung dieses Ziels behandeln.
C# string
nach int
Konvertierung - Int16.Parse()
/ Int32.Parse()
/ Int64.Parse()
Methode
Die Methode Parse()
kann verwendet werden, um eine Zeichenkettendarstellung einer Zahl in eine äquivalente 16/32/64-Bit-Ganzzahl mit Vorzeichen umzuwandeln. Aus Darstellungszwecken werden wir von hier an nur noch 32-Bit-Konvertierungen behandeln.
using System;
public class Instance {
public static void Main() {
string str_var = "123";
int num_var = Int32.Parse(str_var);
System.Console.WriteLine(num_var);
}
}
Ausgabe:
123
Ein kleiner Nachteil dieser Methode ist, dass sie eine FormatException
auslöst, wenn die Zeichenkette keine Ziffernfolge ist.
Obwohl Parse()
Leerzeichen am Anfang und Ende der Zeichenkette ignoriert, müssen ansonsten alle Zeichen einen geeigneten numerischen Wert für eine erfolgreiche Konvertierung haben.
Wir empfehlen die Anweisung try...catch
zur Behandlung der Ausnahme, wie in der folgenden Abbildung dargestellt.
using System;
public class Instance {
public static void Main() {
string str_var = "abc";
try {
int num_var = Int32.Parse(str_var);
System.Console.WriteLine(num_var);
} catch (FormatException) {
System.Console.WriteLine("Invalid String");
}
}
}
Ausgabe:
Invalid String
C# string
nach int
Konvertierung - Int16.TryParse()
/ Int32.TryParse()
/ Int64.TryParse()
Methode
Als eine geeignete Alternative zur Parse()
-Methode angesehen, wirft die TryParse()
-Methode im Falle eines Fehlschlags keine Ausnahme. Stattdessen gibt sie nur False
zurück, wenn die Konvertierung fehlschlägt, was die Implementierung einfacher macht.
using System;
public class Instance {
public static void Main() {
bool result;
string str_var = "111";
int num_var;
result = Int32.TryParse(str_var, out num_var);
if (result)
System.Console.WriteLine(num_var);
else
System.Console.WriteLine("Invalid String");
}
}
Ausgabe:
111
C# String
nach Int
Konvertierung - Konvertieren.ToInt16()
/ Konvertieren.ToInt32()
/ Konvertieren.ToInt64()
Methode
Die Methode Convert()
nimmt eine Zeichenkettenvariable als Parameter und gibt den entsprechenden numerischen Wert mit Vorzeichen 16/32/64 Bit zurück. Ähnlich wie bei der Parse()
Methode, benötigen Sie bei dieser Methode eine try...catch
Anweisung für Ausnahmen.
using System;
public class Instance {
public static void Main() {
string str_var = "123";
try {
int num_var = Convert.ToInt32(str_var);
System.Console.WriteLine(num_var);
} catch (FormatException) {
Console.WriteLine("Invalid String");
} catch (OverflowException) {
Console.WriteLine("The string cannot fit in 32 bit value");
}
}
}
Ausgabe:
123
Ausnahmen sind teuer und werden im Allgemeinen nicht als eine gute Praxis angesehen, die in den Programmablauf einbezogen werden sollte. Aber manchmal können sie nützlich sein, um wichtige Informationen wie die Überlaufbedingung in der Convert()
-Methode zu extrahieren.
Alle oben genannten Methoden sind gleichermaßen wirksam und weisen gewisse Kompromisse auf, wenn es um die Implementierung geht. Wir empfehlen, auf der Grundlage der Überlegungen, die wir in diesem Artikel dargelegt haben, die optimale Methode zu wählen.
Verwandter Artikel - Csharp Integer
- C# Int in String konvertieren
- Konvertieren Sie Int in Enum in C#
- Zufällige Int in C#
- Zufallszahl in einem Bereich in C#
- Ganzzahldivision in C#
Verwandter Artikel - Csharp String
- C# Int in String konvertieren
- C# String in Enum konvertieren
- Verwendung von Strings in der Switch-Anweisung in C#
- So konvertieren Sie eine Zeichenkette in ein Byte-Array in C#
- Wie konvertiert man eine Zeichenkette in C# in boolesche Zeichenketten
- Wie schreibt man ein mehrzeiliges String-Literal in C#