C# String in Enum konvertieren
-
C# Konvertierung von
stringinenum- mit den MethodenEnum.Parse()undEnum.TryParse() -
C# Programm zur Konvertierung von
stringin eineenummit Ausnahmebehandlung unter Verwendung der MethodeEnum.Parse() -
C# Programm zur Konvertierung einer
stringin eineenumunter Verwendung vonEnum.TryParse() -
C# Programm zur Überprüfung der Existenz von Zeichenkettenwerten mit der Methode
Enum.IsDefined() - Schlussfolgerung
In C# verwenden wir die Methoden Enum.Parse() und Enum.TryParse(), um eine Zeichenkette in eine Aufzählung zu konvertieren. Hier haben wir Beispiele für beide angegeben, aber wir empfehlen Ihnen, die Methode Enum.TryParse() zu verwenden, wenn Sie eine Zeichenkette in eine Aufzählung konvertieren.
C# Konvertierung von string in enum - mit den Methoden Enum.Parse() und Enum.TryParse()
Um eine Zeichenkette in eine enum umzuwandeln, können wir die Methode Enum.Parse() verwenden. Sie müssen sorgfältig System am Anfang Ihrer Datei einfügen, da Enum.Parse() eine statische Methode ist.
Der Aufzählungstyp, der Zeichenkettenwert und ein Indikator (optional) sind die Parameter dieser Methode. Die korrekte Syntax für die Verwendung von Enum.Parse() und Enum.TryParse() ist die folgende:
EnumName VariableName = (EnumName)Enum.Parse(typeof(EnumName), StringValue);
EnumName VariableName = (EnumName)Enum.Parse(typeof(EnumName), StringValue,
indicator); // indicator can be true or false
// To implement Enum.TryParse()
EnumName VariableName;
Enum.TryParse(StringValue, out VariableName);
Nun werden wir dies in einem C#-Programm implementieren.
C#-Programm zur Konvertierung von string in eine enum unter Verwendung von Enum.Parse()
using System;
class Conversion {
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
static void Main() {
string stringvalue = "Rose";
Flowers Flower = (Flowers)Enum.Parse(typeof(Flowers), stringvalue);
// To check if we have converted successfully
if (Flower == Flowers.Rose) {
Console.WriteLine("The Flower is Rose");
}
}
}
Ausgabe:
The Flower is Rose
Hier haben wir eine Aufzählung mit dem Namen Flowers, die mehrere Konstanten mit ihren jeweiligen Werten enthält. Wir haben die Methode Enum.Parse() aufgerufen, um den Zeichenkettenwert Rose in eine Aufzählung zu konvertieren. Die Methode typeof(Flowers) gibt den Typ der Aufzählung zurück. Am Ende haben wir geprüft, ob unsere Konvertierung erfolgreich war oder nicht.
Manchmal kann eine Ausnahme auftreten, wenn die Zeichenkette, die wir zu konvertieren versuchen, in der Aufzählung nicht verfügbar ist. Um dies zu vermeiden, werden wir den try-catch Block verwenden.
C# Programm zur Konvertierung von string in eine enum mit Ausnahmebehandlung unter Verwendung der Methode Enum.Parse()
using System;
class Conversion {
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
static void Main() {
stringvalue = "Jasmine";
try {
Flowers Flower = (Flowers)Enum.Parse(typeof(Flowers), stringvalue);
} catch (Exception ex) {
Console.WriteLine("Not Possible");
// Set value to none
Flower = Flowers.none;
}
}
}
Ausgabe:
Not Possible
C# Programm zur Konvertierung einer string in eine enum unter Verwendung von Enum.TryParse()
using System;
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
class Conversion {
static void Main() {
string stringvalue = "Rose";
// Using Enum.TryParse()
Flowers Flower;
if (Enum.TryParse(stringvalue, out Flower)) {
Console.WriteLine(Flower == Flowers.Rose);
}
}
}
Ausgabe:
True
Wir können auch den Wert der Konstante in enum als Parameter in der Methode Enum.TryParse() übergeben. Das folgende Programm implementiert dies:
using System;
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
class Conversion {
static void Main() {
Flowers Flower;
if (Enum.TryParse("3", out Flower)) {
Console.WriteLine(Flower);
}
}
}
Ausgabe:
Rose
Sie können auch prüfen, ob der zu konvertierende String-Wert in enum definiert ist oder nicht, indem Sie die Methode Enum.IsDefined() verwenden.
C# Programm zur Überprüfung der Existenz von Zeichenkettenwerten mit der Methode Enum.IsDefined()
using System;
enum Flowers { None, Daisy = 1, Lili = 2, Rose = 3 }
class Conversion {
static void Main() {
Console.WriteLine(Enum.IsDefined(typeof(Flowers), "Rose"));
}
}
Ausgabe:
True
Schlussfolgerung
Enum.Parse() und Enum.TryParse() sind die Methoden, die verwendet werden, um eine Zeichenkette in eine Aufzählung zu konvertieren. Aber es ist die beste Praxis, Enum.TryParse() zu verwenden.
Verwandter Artikel - Csharp String
- C# Int in String 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#