2010-12-09 54 views
5

我在ASP.NET MVC應用程序中有以下enum,我想使用該枚舉作爲參數。爲此,我想返回enum的小寫字符串表示形式。如何獲得C#中枚舉的小寫形式?

public enum SortOrder 
{ 
     Newest = 0, 
     Rating = 1, 
     Relevance = 2 
} 

如何獲取C#中枚舉的小寫形式?我希望枚舉保留自然的標題表示形式。

回答

11

不,除object以外沒有擴展方法。

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

您也可以使用Enum.GetNames(...)來獲取包含枚舉值的字符串數組。然後,將這些轉換爲小寫。要從字符串轉換爲相應的枚舉值,您可以使用Enum.Parse方法在第三個參數中傳遞true,這使得比較不區分大小寫。

0

如果什麼顯示枚舉文本知道(並利用)System.ComponentModel命名空間,那麼你可以用System.ComponentModel.DescriptionAttribute裝飾枚舉,並鍵入小寫版本。

如果直接獲取字符串值,仍然可以這樣做,儘管編寫反射代碼的開銷可能比您想要處理的要多。

HTH, Brian