Convertir Enum en chaîne en C#
-
Convertir Enum en String avec l’attribut
Description
enC#
-
Convertir Enum en String avec l’instruction
switch
enC#
Ce didacticiel abordera les méthodes pour convertir une énumération en chaîne en C#.
Convertir Enum en String avec l’attribut Description
en C#
Nous n’avons pas besoin d’utiliser quoi que ce soit pour le convertir en chaîne pour une simple valeur Enum qui respecte les conventions de dénomination. Il peut être affiché à l’utilisateur avec la fonction Console.WriteLine()
en C#. Cela est démontré dans l’exemple de codage ci-dessous.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace enum_to_string {
public enum Status { InProgress, Completed }
class Program {
static void Main(string[] args) {
Status complete = Status.Completed;
Console.WriteLine(complete);
}
}
}
Production:
Completed
Dans le code ci-dessus, nous avons directement imprimé la valeur Enum Completed
au format chaîne en C#. Cela était possible car notre valeur Enum suivait les conventions de dénomination des variables en C#. Mais si nous voulons afficher une chaîne facile à lire, nous devons utiliser l’attribut Description
des Enums en C#. L’attribut Description
est utilisé pour décrire chaque valeur d’un Enum. Nous pouvons convertir notre Enum en une chaîne facile à lire en écrivant la chaîne à l’intérieur de l’attribut Description
de Enum. L’exemple de code suivant nous montre comment convertir une valeur Enum en une chaîne avec l’attribut Description
en C#.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
namespace enum_to_string {
public enum Status {
[Description("The Desired Task is InProgress")] InProgress,
[Description("The Desired Task is Successfully Completed")] Completed
}
static class extensionClass {
public static string getDescription(this Enum e) {
Type eType = e.GetType();
string eName = Enum.GetName(eType, e);
if (eName != null) {
FieldInfo fieldInfo = eType.GetField(eName);
if (fieldInfo != null) {
DescriptionAttribute descriptionAttribute = Attribute.GetCustomAttribute(
fieldInfo, typeof(DescriptionAttribute)) as DescriptionAttribute;
if (descriptionAttribute != null) {
return descriptionAttribute.Description;
}
}
}
return null;
}
}
class Program {
static void Main(string[] args) {
Status complete = Status.Completed;
string description = complete.getDescription();
Console.WriteLine(description);
}
}
}
Production:
The Desired Task is Successfully Completed
Dans le code ci-dessus, nous avons créé une méthode d’extension, getDescription
, qui renvoie la description de la valeur Enum en C#. Cette méthode fonctionne parfaitement bien, mais elle est un peu complexe. Cette complexité est simplifiée dans la section suivante.
Convertir Enum en String avec l’instruction switch
en C#
Une grande partie de la complexité de la méthode précédente peut être simplifiée en utilisant l’instruction switch
en C#. Nous pouvons attribuer la valeur souhaitée à notre variable chaîne pour chaque valeur Enum avec l’instruction switch
en C#. Consultez l’exemple de code suivant.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
namespace enum_to_string {
public enum Status { InProgress, Completed }
static class extensionClass {
public static string getValue(this Status e) {
switch (e) {
case Status.InProgress:
return "The Desired Task is InProgress";
case Status.Completed:
return "The Desired Task is Successfully Completed";
}
return String.Empty;
}
}
class Program {
static void Main(string[] args) {
Status complete = Status.Completed;
string value = complete.getValue();
Console.WriteLine(value);
}
}
}
Production:
The Desired Task is Successfully Completed
Dans le code ci-dessus, nous avons créé une méthode d’extension, getValue()
, qui retourne une chaîne basée sur la valeur Enum en utilisant l’instruction switch
en C#. La fonction getValue()
utilise l’instruction switch
et renvoie une chaîne différente pour chaque valeur de notre Enum spécifié.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedInArticle connexe - Csharp Enum
- C# Convert String to enum
- Convertir Int en Enum en C#
- Énumération des chaînes en C#
- Comment énumérer un Enum en C#
- Comment obtenir la valeur Int de Enum en C#
Article connexe - Csharp String
- C# Convert String to enum
- C# Convertir Int en String
- Utiliser des chaînes dans l'instruction Switch en C#
- Comment convertir une chaîne de caractères en booléen en C#
- Comment convertir une chaîne de caractères en un tableau d'octets en C#
- Comment convertir une chaînes de caractères pour qu'elle flotte en C#