- 枚举类似于数组,但两者的定义方法和设计目的不同
- 枚举中的值会放在栈中
- 枚举类型不能直接放在方法中,一般放在命名空间中或与类同级
- 枚举使用enum关键字进行定义,枚举类型的定义其实和类的成员定义相似,但枚举可以直接写数据
- 枚举默认使用private修饰,可以使用public进行修饰
- 枚举可以和int以及String类型互相转换
- 枚举中的参数值默认每次加一
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Day_04
{
class Program
{
public enum State
{
//默认从0开始,每个参数加一,即work=0;eat=1;sleep=2
Work,
Eat,
Sleep
}
static void Main(string[] args)
{
//会输出0
Console.WriteLine((int)State.Work);
//会输出1
Console.WriteLine((int)State.Eat);
//会输出2
Console.WriteLine((int)State.Sleep);
//暂停以等待输出
Console.ReadKey();
}
}
}
枚举类型和int类型互转
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Day_04
{
class Program
{
public enum State
{
//默认从0开始,每个参数加一,即work=0;eat=1;sleep=2
Work=3,
Eat,
Sleep,
Talk
}
static void Main(string[] args)
{
//枚举简单举例
#region
会输出3,因为指定了第一个数字
//Console.WriteLine((int)State.Work);
会输出4
//Console.WriteLine((int)State.Eat);
会输出5
//Console.WriteLine((int)State.Sleep);
会输出6
//Console.WriteLine((int)State.Talk);
暂停以等待输出
//Console.ReadKey();
#endregion
//枚举与其他类型转换
#region
int num = 5;
//如果强转为State枚举类型,则会对应int变量中的数字进行转换
State state = (State)num;
//现在state中存放的是Sleep类型,因为Sleep中的值(5)和int变量的值(5)对应
Console.WriteLine(state);
//暂停查看结果
Console.ReadKey();
#endregion
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)