关于C# enum用法
发布网友
发布时间:2023-08-05 03:06
我来回答
共2个回答
热心网友
时间:2024-12-04 10:28
C#中enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。
通常情况下,是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它, 但是,还可以将枚举嵌套在类或结构中。
1、默认情况下,枚举中的第一个变量被赋值为0,其他的变量的值按定义的顺序来递增(0,12,3...),因此以下两个代码定义是等价的:
enum TrafficLight
{
Green,
Yellow,
Red
}
enum TrafficLight
{
Green = 0,
Yellow = 1,
Red = 2
}
2、enum枚举类型的变量的名字不能相同,但是值可以相同,例如:
enum TrafficLight
{
Green = 0,
Yellow = 1, // Duplicate value, OK
Red = 1 // Duplicate value, OK
}
3、如果enum中的部分成员显式定义了值,而部分没有;那么没有定义值的成员还是会按照上一个成员的值来递增赋值,例如:
enum LoopType
{
None, // value is 0
Daily, // value is 1
Weekly = 7,
Monthly, // value is 8
Yeayly, // value is 9
DayGap = 15,
WeekGap, // value is 16
MonthGap, // value is 17
YearGap // value is 18
}
4、enum枚举成员可以用来作为位标志,同时支持位的操作(位与,位或等等),例如:
enum CardDeckSettings : uint
{
SingleDeck = 0x01, // Bit 0
LargePictures = 0x02, // Bit 1
FancyNumbers = 0x04, // Bit 2
Animation = 0x08 // Bit 3
}
热心网友
时间:2024-12-04 10:29
Console.WriteLine("Sun = {0}", x);
{0}是用来对输出字符串进行格式化的,
在字符串中用{}括起一个索引值,(从0开始的整型数值)表示这个位置上的字符是后接参数的值.
这一句中字符串"Sun = {0}"后以逗号分隔,紧随其后的就是参数值,多个参数值之前以逗号分隔.
如Console.WriteLine("{0}和{1}是好朋友!", "我","你");
enum Range : long{ Max = 2147483648L, Min = 255L };
这一句指定了玫举类型Range 的值是取值范围在147483648~255之间的所有long类型的数值