显示枚举类型的整数值。

11 浏览
0 Comments

显示枚举类型的整数值。

这个问题已经有答案了

在C#中从枚举中获取int值

我有一个属性网格,我需要在属性网格中创建一个下拉框,并显示int值(1到9),我发现使用枚举是最简单的方法,但是枚举无法显示int值,即使我试图将其强制转换为int,但我不知道如何返回所有值。还有其他方法可以做到这一点吗?谢谢。以下是我的代码。

public class StepMode
    {
        private TotalSteps totalSteps;
        public TotalSteps totalsteps
        {
            get { return totalSteps; }
            set { value = totalSteps; }
        }
        public enum TotalSteps
        {
            First = 1,
            Second = 2,
            Three = 3,
            Four = 4,
            Five = 5,
            Six = 6,
            Seven = 7,
            Eight = 8,
            Nine = 9
        }
    }

admin 更改状态以发布 2023年5月23日
0
0 Comments

如何在"get"函数中返回它?该值无法转换。

属性(我猜测)被定义为获取/设置选定的枚举值,因此当类型为TotalSteps时无法返回int类型。

我建议在Step内部再定义一个只读属性,将选定的enum值转换为int

 public int Step
 {
     get {return (int)totalsteps; }
 }

由于您在评论中提到您希望所有的int值都绑定到ComboBox上,因此请这样做。

 public List().ToList(); } 
 }

0
0 Comments

要获取枚举的所有值,请尝试以下操作

var allValues = Enum.GetValues(typeof(TotalSteps)).Cast().ToArray();

你的totalSteps属性应该像这样

public int[] totalSteps
{
   get { return Enum.GetValues(typeof(TotalSteps)).Cast().ToArray(); }
}

0