2011-11-16 47 views
7

que tienen una lista de valores de enumeración:Convertir <Enum> a la lista <string>

public static readonly List<NotifyBy> SupportedNotificationMethods = new List<NotifyBy> { 
    NotifyBy.Email, NotifyBy.HandHold }; 

quisiera salida como una lista separada por comas. (Por ejemplo: "Email, Handhold")

¿Cuál es la forma más limpia de hacer esto?

+0

preguntando si esto es posible utilizando la reflexión .. – droidbot

Respuesta

12

Tal vez esto:

var str = String.Join(", ", SupportedNotificationMethods.Select(s => s.ToString())); 

Puede leer más sobre el método String.Join en MSDN. Las versiones anteriores de String.Join no tienen una sobrecarga que toma un IEnumerable. En ese caso, simplemente llame al ToArray() después de seleccionar.

0
String.Join(", ", SupportedNotificationMethods.Select(e => e.ToString()).ToArray()); 
4

puede utilizar LINQ:

string.Join(", ", SupportedNotificationMethods.Select(e => e.ToString()); 
Cuestiones relacionadas