C#的隐式枚举转换

本文详细阐述了在C#中将十进制整数隐式转换为枚举类型的原理与局限性,通过实例代码演示转换过程及编译器错误处理,旨在帮助开发者深入理解枚举类型与整型之间的转换机制。

隐式枚举转换允许把十进制整数0 转换成任何枚举类型,对应其它的整数则不存在这种隐式转换,下面用一个例子来具体说明本问题:

using System;
        enum Weekday{
                Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
       };

class Test
       {
               public static void Main() 
               {
                       Weekday day;
                        day = 0;
                       Console.WriteLine(day);
               }
       }

程序的输出是 0

注意:把 day = 0 改写为 day = 1 编译器就会给出下面的错误:

Can not implictly convert type 'int' to type 'enum'

如果使用我们需要显示的转换 int x = (int)Weekday.Tuesday;  int y = (int)Weekday.Friday;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值