我创建了如下的枚举,
public enum colors
{
Red = 1,
green = 2,
blue = 3
}
Run Code Online (Sandbox Code Playgroud)
无论何处将颜色保存到页面中,我都必须将此枚举用于页面.保存后我必须显示我保存的颜色.
但对我来说结果显示如下:例如:红色表示1.
我试过以下,
o.Colors != null ? ((Models.Enums.Colors)o.ColorMode) : 0
Run Code Online (Sandbox Code Playgroud)
上面的代码我应该得到红色,绿色,蓝色.但我得到的结果像1,2,3 ......
请帮我..
试试这个代码
string className = Enum.GetName(typeof(Models.Enums.Colors),
o.Colors != null ?((Models.Enums.Colors)o.ColorMode) : 0);
Run Code Online (Sandbox Code Playgroud)
或使用通用功能
private static T ToEnum(string value)
{
return (T)Enum.Parse(typeof(T), value, true);
}
private string EnumToString(T enumValue)
{
Type typeParameterType = typeof(T);
return Enum.GetName(typeParameterType, enumValue);
}
Run Code Online (Sandbox Code Playgroud)
对于你的情境 词典是最好的选择
原因:如果要添加带空格的类或" - ",则枚举的范围较小
// Use a dictionary with an int key.
Dictionary<int, string> StyleDict = new Dictionary<int, string>();
StyleDict.Add(1, "Red");
StyleDict.Add(2, "green ");
StyleDict.Add(3, "blue");
Run Code Online (Sandbox Code Playgroud)
然后你可以像下面这样访问这个词典
StyleDict[1] //To get Red
StyleDict[2] //To get green
Run Code Online (Sandbox Code Playgroud)
尝试动态
StyleDict[o.ColorMode]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |