如何获取整数值并从枚举转换为字符串?

时间:2015-07-31 07:11:18

标签: c#

我有这堂课:

public class GameTypeModel
{
    public string Value { get; set; }
    public string TransKey { get; set; }             
}

我有这个foreach:

GameType.Add(new GameTypeModel() { Value = "", TransKey = "ALL" });
foreach (Game val in Enum.GetValues(typeof(Game)))
{      
     GameType.Add(new GameTypeModel() { Value = value, TransKey = val.ToString() });
}

我有这个枚举:

public enum Game 
{
    [EnumMember]
    Terminal = 0, 
    [EnumMember]
    SportsBetting = 1,
    [EnumMember]
    LiveBetting = 2,
}

我如何使用这些数字并将其传递给像字符串一样的值?

4 个答案:

答案 0 :(得分:1)

如果你想存储" 0"," 1"," 2"在GameTypeModel.Value中,只需将枚举值转换为underlying type(默认为int):

new GameTypeModel { Value = ((int)val).ToString(), TransKey = val.ToString() }

答案 1 :(得分:0)

你有没有试过像

这样的东西
    Game item = Game.LiveBetting;
    String itemselected= Enum.GetName(typeof(Game), item);

答案 2 :(得分:0)

你试过这个:.ToString()来获取价值吗?

答案 3 :(得分:0)

简单的事情伴侣。在将它们转换为字符串之前,您必须将值转换为int。试试这个..

public enum Game : int {
    Terminal = 0,
    // ...
}

// add the explicit cast to int here
GameType.Add(
    new GameTypeModel() { 
        Value = value, 
        TransKey = ((int)val).ToString() 
    });