11
votes

Comment puis-je obtenir la représentation minuscule d'un énumé en C #?

J'ai ce qui suit Enum dans une application ASP.NET MVC, et je veux utiliser cet Enum comme paramètre. Pour ce faire, je voudrais renvoyer la représentation des chaînes minuscules de ce Enum . XXX

Comment puis-je obtenir la représentation minuscule d'un énumé en C #? J'aimerais aussi que les Enums conservent leur représentation de titlecase naturelle.


0 commentaires

4 Réponses :


14
votes

Non, il n'est pas sauf pour une méthode d'extension sur objet code>.

public static string ToLower (this object obj)
{
  return obj.ToString().ToLower();
}


0 commentaires

1
votes

Y a-t-il un moyen d'obtenir la chaîne en minuscules Exceptionsg: valeur.tostring (). Tolower ()?

Non (sauf si vous ne modifiez pas l'ENUM: récent , Note , Pertinence ...)

Une technique commune consiste à ajouter un attribut contre chaque membre d'Enum, en spécifiant la chaîne que vous souhaitez associer à celle-ci, par exemple: http : //weblogs.asp.net/grantbarrington/archive/2009/01/19/Enumhelper-getting-a-amical-description-de-an-enum.aspx


0 commentaires

0
votes

Vous pouvez également utiliser Enum.getNames (...) pour obtenir un tableau de chaîne contenant les valeurs ENUM. Ensuite, convertissez-les en minuscules. Pour convertir de la chaîne à la valeur ENUM correspondante, vous pouvez utiliser la méthode ENUM.PARSE PASSE true dans le troisième paramètre, qui rend le cas de comparaison insensible.


0 commentaires

0
votes

Si ce qui affiche le texte ENUM est au courant de (et utilise) l'espace de noms System.componentModel, vous pouvez décorer l'ENUM avec le système.componentmodel.descriptTribute et tapez la version minuscule en vous.

Si vous obtenez directement la valeur de la chaîne, vous pouvez toujours le faire, bien que les frais généraux de votre écriture du code de réflexion soient plus que ce que vous souhaitez gérer.

hth, Brian


0 commentaires