public enum DAYS {
Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
}
Run Code Online (Sandbox Code Playgroud)
这里假设我想覆盖枚举元素的默认值,就像星期一一样.在这里,据我所知,给1到星期一2后将是星期二的默认值,下一个将有3左右,
让我们改变一下
public enum days
{
monday = 4,
tuesday=8,
wednesday,
thursday,
friday=25,
saturday,
sunday
}
Run Code Online (Sandbox Code Playgroud)
星期三,星期四,星期六,星期天,这将是什么价值?
问题2:
我们可以为枚举元素指定char和string类型的值...
问题3:
我们可以将枚举重写为char或字符串类型吗?
像
public enum name :string
{
first_name="nishant",
Last_name = "kumar"
}
Run Code Online (Sandbox Code Playgroud)
您未指定的任何值比前一个值高1.(周三将是9,周四将是10,周六26和周日27.)请注意,当使用[Flags]属性修饰枚举时,这甚至是正确的- 您应该在使用时始终指定与每个名称关联的基础值[Flags].
从C#4规范的第14.3节:
否则,通过将文本上在前的枚举成员的关联值增加1来获得枚举成员的关联值.该值必须在可由基础类型表示的值范围内,否则会发生编译时错误.
否,则有效底层类型枚举是sbyte,byte,short,ushort,int,uint,long和ulong,具体根据C#规范的章节14.1.它明确指出:
请注意,
char不能用作基础类型.
(这里没有提到字符串,因为它已经说过底层类型必须是一个整数类型.)
基于对2的回答不相关.
通常,如果要将任意字符串值与枚举值相关联,则应使用键入枚举值名称的资源文件,或使用属性(例如DescriptionAttribute).
| 归档时间: |
|
| 查看次数: |
1155 次 |
| 最近记录: |