using System;
namespace 枚举
{
public enum QQState
{
Online,
Offline,
Leave,
Busy,
Qme
}
public enum Genger
{
男,
女
}
class Program
{
static void Main(string[] args)
{
#region 将枚举类型强转成int类型
//声明一个枚举类型state
//QQState state = QQState.Busy;
//int n = (int)state;//3
//Console.WriteLine((int)QQState.Busy);//3
//Console.WriteLine((int)QQState.Qme);//4
//Console.WriteLine(n);//3
//Console.WriteLine(state);//Busy
//Console.ReadKey();
#endregion
#region 将int类型强转为枚举类型
//int n1 = 3;
//int n2 = 9;
//QQState state1 = (QQState)n1;
//QQState state2 = (QQState)n2;
//Console.WriteLine(state1);//Busy
//Console.WriteLine(state2);//9
//Console.ReadKey();
#endregion
//所有的类型都能转换为String类型
#region 所有的类型都能转换为String类型
//int n1 = 10;
//double n2 = 3.13;
//string s1 = n1.ToString();
//string s2 = n2.ToString();
//Console.WriteLine("{0},{1}", s1, s2);//10,3.13
//Console.ReadKey();
#endregion
#region 将枚举类型强转为字符串类型
//声明一个枚举变量state
//QQState state = QQState.Online;
//string s = state.ToString();
//Console.WriteLine(s);//Online
//Console.ReadKey();
#endregion
#region 将字符串类型转换为枚举类型
//string s = "ABCFG";
将s转换成枚举类型
Convert.ToInt32() int.parse() int.TryParse()
//try
//{
// QQState state = (QQState)Enum.Parse(typeof(QQState), s);
// Console.WriteLine(state);
//}
//catch
//{
// Console.WriteLine("转换异常");
//}
//Console.ReadKey();
#endregion
}
}
}
/*
总结:
枚举跟int类型和String类型相互转换:
当int转成一个枚举中没有的值的时候,不会抛异常,而是会直接显示出来
枚举转为String--->ToString()
如果将字符串转换成枚举类型则需要下面这样一行代码:
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),“要转换的字符串”);
如果转换的字符串是数字,就算枚举中没有,也不会抛出异常
如果转换的字符串是文本,如果枚举中没有,则会抛出异常
*/
C#枚举
最新推荐文章于 2024-05-07 21:13:45 发布