如何在c#中声明枚举
本文关键字:声明 枚举 | 更新日期: 2023-09-27 18:11:10
我真的不知道如何声明一个enum,我试过这个
enum cardValue {2 = 0, 3, 4, 5, 6, 7, 8, 9, T, J, Q, K, A};
和
enum cardValue {"2" = 0, "3", "4", "5", "6", "7", "8", "9", "T", "J", "Q", "K", "A"};
在这两种情况下,编译器都会抱怨我使用的符号。我知道格式不正确,但我能做些什么,使下面的代码得到工作吗?(这里,V可以是"K"
, "5"
或任何其他值)
struct card
{
cardValue value;
cardSuit suit;
public card(string V, string S)
{
value = SomeTransformation(V);
suit = SomeTransformation(S);
}
...
}
枚举值应该来自同一类型。所以你的第二个例子基本成立。如果使用标志,应该为所有值指定名称或索引,而不仅仅是一个:
enum cardValue { Val2 = "2", Val3 = "3", Val4 = "4", ValA = "A" };
另外,变量名、类名、枚举值等不能只包含数字。所以名称中必须有一个字符
枚举可以有字符,默认为int
char类型被归类为整型,但它与其他整型在两个方面有所不同:
•没有从其他类型到char类型的隐式转换。特别是,尽管sbyte、byte和ushort类型的值范围可以用char类型完全表示,但不存在从sbyte、byte或ushort到char的隐式转换。•char类型的常量必须写成字符字面值或整型字面值,并强制转换为char类型。例如,(char)10与''x000A'相同。