本章将介绍以下几点

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

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

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

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

       string strValue="12";

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

    

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

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

      实际应用:

      现在有一个枚举

现有一个字符串: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(枚举类型);    //该方法返回的是字符串数组

  以下是效果图:

如果还不太明白,可以去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

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

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

祝大家学习快乐!

最新文章

  1. Java程序员从笨鸟到菜鸟之(一百零一)sql注入攻击详解(二)sql注入过程详解
  2. 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]
  3. vpn,可以连接上,但是不能访问局域网内共享的文件怎么办
  4. Yii源码阅读笔记(二十四)
  5. HDU 4539 郑厂长系列故事――排兵布阵(曼哈顿距离)
  6. 微信Api
  7. iOS-BLE蓝牙开发持续更新
  8. [HeadFist-HTMLCSS学习笔记][第七章CSS入门:加一点样式]
  9. 1230.2——iOS准备(阅读开发者文档时的笔记)
  10. jQuery+PHP实现的砸金蛋中奖程序
  11. C# Attribute(特性)之---契约---[ServiceContract] 、 [OperationContract]
  12. LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal (用先序和中序树遍历来建立二叉树)
  13. WAS集群系列(2):数据库连接低级错误——网络连接问题
  14. 初始scrapy,简单项目创建和CSS选择器,xpath选择器(1)
  15. 【UER #8】雪灾与外卖
  16. Mvaen仓库文件添加阿里镜像
  17. 获取APP的元素信息和Activity
  18. 浅谈JS的数组遍历方法
  19. CodeSmith公共类维护
  20. [leetcode]Binary Tree Preorder Traversal @ Python

热门文章

  1. springboot之集成mybatis mongo shiro druid redis jsp
  2. CCNA笔记(3)
  3. 线性表的链式存储结构的实现及其应用(C/C++实现)
  4. C++ STL之min_element()与max_element()(取容器中的最大最小值)
  5. [51nod1684]子集价值
  6. 电脑打不开网页,使用dns优化下就可以了。
  7. 96、python version 3.6 required,which was not fount in the registry(python3.6安装scrapy)
  8. 小白的Python之路 day5 模块XML特点和用法
  9. How to bypass Win10 logon password?
  10. BC高精确度函数使用。