【第22期】观点:IT 行业加班,到底有没有价值?

枚举类型转换

转载 2015年11月17日 17:18:28

语法:
[public] enum 枚举名
{
值1,
值2,
值3,
……..
}
public:访问修饰符。公开的公共的,哪都可以访问。
enum:关键字,声明枚举的关键字
枚举名:要符合Pascal命名规范

将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。

枚举就是一个变量类型 ,int–double string decimal.
只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。

我们可以将一个枚举类型的变量跟int类型和string类型互相转换。
枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。
当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。

枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString().
如果将字符串转换成枚举类型则需要下面这样一行代码:
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),”要转换的字符串”);
如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。
如果转换的字符串是文本,如果枚举中没有,则会抛出异常。
实例:

namespace @enum
{
    public enum QQState
    {
        onLine=1,
        offLine,
        yingshen


    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请选择你的状态:1-on 2-off 3-yingshen");
           string n= Console.ReadLine();

           switch (n)
           {
               case "1":QQState s=(QQState)Enum.Parse(typeof(QQState),n);
                   Console.WriteLine("你的状态是{0}",s);
                   break;
               case "2": QQState s1 = (QQState)Enum.Parse(typeof(QQState), n);
                   Console.WriteLine("你的状态是{0}", s1);
                   break;
               case "3": QQState s2 = (QQState)Enum.Parse(typeof(QQState), n);
                   Console.WriteLine("你的状态是{0}", s2);
                   break;
           }
           Console.ReadKey();


        }
    }
}
举报

相关文章推荐

黑马程序员---枚举类型的使用及其类型转换(学习总结)

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 1、枚举的的定义和声名 定...

C++枚举类型讨论

Technorati 标签: <a rel="tag" href="http://tech

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

黑马程序员----枚举类型的作用及类型转换(学习总结)

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 1、枚举的的定义和声名 定...

struts2的action支持自动转换枚举类型(enum)的实例变量

今天看到很多程序员写的代码,老是在enum与string之间来回转换,自己也不确定struts2能否进行enum的类型转换,struts2的文档说不支持enum的自动转换,通过阅读struts2的DefaultTypeConverter源代码发现是可以的,主要集中在convertValue方法 ...

Asp.Net之枚举类型输出需要类型转换

看几篇文章,教程也没有做说明,为什么在输出枚举数据时需要将其转换为整型?代码:    enum myInclude//定义枚举    {       s=9,       d=1    }      ...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)