C#基础(六)--枚举的一些常用操作

摘要:
本章将介绍以下几点:1.如何将其他类型转换为枚举类型?2.如何将枚举中的值添加到下拉菜单中?1、 如何将其他类型转换为枚举类型?让我们回顾一下字符串和数字之间的转换,例如string strValue=“12”;int值=int。解析(strValue)//使用int.Parse()将字符串转换为整数

本章将介绍以下几点   

   1、如何把其它类型转换为枚举类型?

   2、如何把枚举中的值添加到下拉菜单中?

一、如何把其它类型转换为枚举类型?

       我们回顾一下有关字符串与数字之间的转换,如:

       string strValue="12";

       int value=int.Parse(strValue);    //使用int.Parse()就可以把字符串转换为整数

    

      那把字符串转换成枚举类型相对于要复一些,语法如下:

      Enum.Parse(枚举的类型,要转换的值);

      实际应用:

      现在有一个枚举

C#基础(六)--枚举的一些常用操作第1张

 现有一个字符串:string strValue="QQ2001";

使用枚举转换语句:Enum.Parse(枚举的类型,要转换的值);

  Enum.Parse(typeof(QQSkipEnum) , strValue);

  以上的结果是一个object类型,所以还需要强转一下,

  使用该枚举来接收,如下:

QQSkipEnum  qprase=

(QQSkipEnum)Enum.Parse(typeof(QQSkipEnum) , strValue);

这样就把字符串转换成枚举类型成功,以上的代码相对于复杂一点,

但在实际的开发过程当中,是必不可少的,所以务必要记住

 注意:在把字符串转换为枚举过程中,该字符串必须在枚举中是存在此值的,如果该值不存在,

         系统就会提示错误

 如:

string strValue="qq2001";       

转换的时候:

QQSkipEnum  qprase=

(QQSkipEnum)Enum.Parse(typeof(QQSkipEnum) , strValue);

这样是不行的,因为在枚举中没有 "qq2001"的定义,只有大写的“QQ2001”

二、如何把枚举中的值添加到下拉菜单中

    因为枚举是一组固定的常量,所以可以使用枚举中的自带方法,把这些常量转换为字符串数组,

  然后再添加到下拉菜单中。

   语法如下:

   string[]   qqSkip= Enum.GetNames(枚举类型);    //该方法返回的是字符串数组

  

  以下是效果图:

   C#基础(六)--枚举的一些常用操作第2张

  如果还不太明白,可以去MSDN:

  http://msdn.microsoft.com/zh-cn/library/sbbt4032(VS.80).aspx

  以下是Enum成员,请大家了解一下:

  http://msdn.microsoft.com/zh-cn/library/system.enum_members(VS.80).aspx

  总结:枚举在我们实际项目开发中,非常的重要,枚举转换和如何得到枚举的值,

          这些方法大家必须要记下来,学程序的最好的方法就是,练,练,练,再练。

           祝大家学习快乐!

免责声明:文章转载自《C#基础(六)--枚举的一些常用操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇setsockopt()使用方法(參数具体说明)'scope' is defined but never used下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java枚举类型的理解及在后台响应中的使用

在前后台分离开发过程中,统一响应的格式可以使用枚举类型进行规范开发,对于不同的错误/异常类型可以响应不同的状态码和响应信息。 1,枚举类型的简单理解:枚举类型就是包含了已经创建好对象的final类,这个final类的开始是一些枚举变量,枚举变量可以有多个值,这些参数被赋给了枚举对象, 枚举对象可以通过枚举类调用枚举变量获取。 总结以下几点: 1)枚举类型不...

C++枚举变量与switch

转载:https://www.cnblogs.com/banmei-brandy/p/11263927.html 枚举类型和变量如何定义,下篇博客讲得十分详细: https://blog.csdn.net/bruce_0712/article/details/54984371 有几个需要注意的点: (1)在不进行强制类型转换的前提下,枚举量只能由枚举类型赋...

WPF学习笔记二 WPF命中测试

概述: WPF中的Canvas是常用的一个绘图控件,可以方便地在Canvas中添加我们需要处理的各种元素如:图片、文字等。但Canvas中元素增加到一定数量,并且有重合的时候,我们如何通过在Canvas中点击鼠标,获得我们想要的元素,然后再对该元素做出相应的控制? 命中测试,可以很好地解决这个问题 本文目的: 使用命中测试,选取Canvas中相应Ele...

c++11 强类型枚举 enum class

在标准C++中,枚举类型不是类型安全的。枚举类型被视为整数,这使得两种不同的枚举类型之间可以进行比较。C++03 唯一提供的安全机制是一个整数或一个枚举型值不能隐式转换到另一个枚举别型。 此外,枚举所使用整数类型及其大小都由实现方法定义,皆无法明确指定。 最后,枚举的名称全数暴露于一般范围中,因此C++03两个不同的枚举,不可以有相同的枚举名。(好比 en...

Java switch 枚举

Switch中能够使用int。byte。short,char,Enum,String。当中Enum为1.5之后新增特性,String为java8新增特性。本文介绍怎样在Switch中使用Enum类型。 在swtich中使用enum。不同于传统switch的地方主要在两个显著的、非细节方面。 案例: switch (UserAgent.FIREFOX)...

枚举和宏的区别

枚举: 枚举是一种变量类型,枚举基本等效于int类型,占用同样的空间,同样的数值范围,但是枚举通常都是表示常数变量,对枚举变量做一些算术计算通常是编译器不允许的,但是可以加上强制类型转换,本来不在枚举符表里面的值也可以大摇大摆的登堂入室,枚举符表甚至允许数值相等。在没有赋值的引用中,只会是int范围内的垃圾数值,根本就不会是枚举符表中的数值。对于默认的情况...