C# 枚举2 枚举类型和int类型以及string类型之间的互相转换

枚举类型和int类型以及string类型之间的互相转换

1.所有的类型都能够转换成string类型,利用tostring()

            int n1 = 10;
            string s = n1.ToString();
            Console.WriteLine(s);
            Console.ReadKey();

2.将枚举类型强转成int类型

            public enum QQState { OnLine=1, OffLine, Leave, Busy, QMe }
            //枚举类型可以跟int类型互相转换,枚举类型跟int类型是兼容的
            Console.WriteLine((int)QQState.OnLine);
            Console.WriteLine((int)QQState.OffLine);
            Console.WriteLine((int)QQState.Leave);
            Console.WriteLine((int)QQState.Busy);
            Console.WriteLine((int)QQState.QMe);
            Console.ReadKey();

3. 将int类型强转成枚举类型

            int n1 = 3;//if n1=8,但是枚举里面由低到高是0-4,转换不了,不会报异常,直接输出8
            QQState state1 = (QQState)n1;
            Console.WriteLine(state1);
            Console.ReadKey();

4.将枚举类型转换成字符串类型

QQState state = QQState.OnLine;
Console.WriteLine(state.ToString());
Console.ReadKey();  

5.将字符串类型转换成枚举类型

string s = "zjh";
//调用Parse()方法的目的就是为了让它帮助我们将一个字符串转换成对应的枚举类型
QQState state = (QQState)Enum.Parse(typeof(QQState), s);
Console.WriteLine(state);
Console.ReadKey();

6.总结

枚举类型中的每个成员都为 int 类型,它们的值从零开始,
我们可以将一个枚举类型的变量跟int类型和string类型互相转换
枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换
当将int转换为枚举类型时,当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来
枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString()
如果将字符串转换成枚举类型则需要下面这样一行代码
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");
如果转换的字符串是数字,则就算枚举中没有,也不会抛出异常
如果转换的字符是文本,如果枚举中没有,则会抛出异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值