Maison > développement back-end > C++ > Comment convertir une chaîne en énumération en C #?

Comment convertir une chaîne en énumération en C #?

Mary-Kate Olsen
Libérer: 2025-02-02 00:41:18
original
723 Les gens l'ont consulté

How to Convert a String to an Enum in C#?

Dans le C #, la chaîne est convertie en énumération

payer une énumération de la chaîne

Lors du traitement de la balise HTML SELECT avec la valeur d'énumération, vous devez convertir la valeur de chaîne sélectionnée en valeur d'énumération correspondante. En C #, la méthode de conversion préférée est

. Enum.TryParse

Enum.TryParse("Active", out StatusEnum myStatus);
Copier après la connexion
Pour .NET Core et .NET Framework 4.0, il a nécessité une grammaire plus longue:

StatusEnum myStatus = (StatusEnum)Enum.Parse(typeof(StatusEnum), "Active", true);
Copier après la connexion
Méthode d'expansion d'analyse d'énumération personnalisée

Pour la commodité, vous pouvez créer une méthode d'extension personnalisée pour simplifier le processus d'analyse, tel que:

public static T ParseEnum<T>(string value) => (T)Enum.Parse(typeof(T), value, true);
Copier après la connexion
Cette méthode d'extension vous permet d'écrire:

StatusEnum myStatus = ParseEnum<StatusEnum>("Active");
Copier après la connexion
Traitement Valeur d'énumération non valide

Afin de traiter la valeur de la chaîne n'est pas une valeur d'énumération efficace, vous pouvez ajouter une reconnaissance silencieuse à la méthode

: ParseEnum

public static T ToEnum<T>(string value, T defaultValue)
{
    if (string.IsNullOrEmpty(value)) return defaultValue;
    T result;
    return Enum.TryParse<T>(value, true, out result) ? result : defaultValue;
}
Copier après la connexion
Cela vous permet d'utiliser la syntaxe suivante:

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal