如何创建枚举类型的属性

enum E_Color { red, black }; private E_Color Color { get { return Color; } set { Color = value; } } public Card(int color, int num) { Color = (E_Color)color; Number = num; } 

所以这是我的代码,我不知道这是什么问题,我很确定它在这里。 我是c#的新手(我以前用c ++编程),所以我不知道该怎么做。 在编译时运行它但打印“由于StackOverflowException导致进程终止”。 如果我进入它只是停止debuging并完成它到达构造函数。

你的枚举在这里没有问题。 问题出在您的财产中。 您正在返回属性本身,这会导致无限循环( Stackoverflow )。

把它改成这个:

 private E_Color Color { get; set; } 

你基本上做的是:

 private E_Color GetColor() { return GetColor(); }