本章将介绍以下几点

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

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

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

祝大家学习快乐!

C#基础(六)--枚举的一些常用操作的更多相关文章

  1. python基础(六)dict字典和文件操作open

    字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...

  2. 自定义枚举类型的常用操作-附源码(xjl456852原创)

    自定义枚举类型中,假如我们有name和desc这样的属性,并在这个基础上定义了多个对象. 那么就可能用到通过name获取desc,或者通过desc获取name.通过name或者desc获取对应的枚举对 ...

  3. C#枚举类型的常用操作总结

    枚举类型是定义了一组"符号名称/值"配对.枚举类型是强类型的.每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueTy ...

  4. 【mongoDB基础篇①】安装与常用操作语句

    简述 mongoDB与redis同为noSql数据库,但是redis为kv数据库(key/value),而mongoDB为文档型数据库存储的是文档(Bson->json的二进制化).内部执行引擎 ...

  5. Java基础(六)--枚举Enum

    枚举: 刚开始项目中没怎么用过,只知道能够实现作为项目中类似定义Constant的功能,然后知道枚举实现的单例模式几乎是最优雅的,所以, 想要深入完整的了解一下 1.基本特性: Enum.values ...

  6. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  7. Docker 基础概念科普 和 常用操作介绍

    Docker 基础概念 Docker是什么?         Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...

  8. Linux - nginx基础及常用操作

    目录 Linux - nginx基础及常用操作 Tengine淘宝nginx安装流程 nginx的主配置文件nginx.conf 基于域名的多虚拟主机实战 nginx的访问日志功能 网站的404页面优 ...

  9. 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作

    声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/  模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...

随机推荐

  1. Rosenblatt感知器

    一.定义 Rosenblatt感知器建立在一个线性神经元之上,神经元模型的求和节点计算作用于突触输入的线性组合,同时结合外部作用的偏置,对若干个突触的输入项求和后进行调节. 二.基本计算过程 Rose ...

  2. 学习笔记-echarts x,y轴样式

    //改变坐标轴文本的样式axisLabel:{ textStyle:{ color:'#fff' }},//改变坐标轴和文本的样式axisLine:{ lineStyle:{ color:'#fff' ...

  3. GDOI 2016 & APIO 2016 游记

    缓慢施工中...... UPD:APIO游记已烂尾......因为Cu滚粗+生病一直没心情写..过了几天就发现APIO的事都快忘光了...去看KPM的就可以啦 今年apio竟然没和gdoi撞...智障 ...

  4. hdu_1754I Hate It(线段树)

    hdu_1754I Hate It(线段树) 标签: 线段树 题目链接 题意: 中文题意...不多说了,线段树基础题 直接上代码: #include<cstdio> #include< ...

  5. python3 爬淘女郎

    刚学到python 组合数据类型这里,机缘巧合之下得到了一个公开课的视频,也看了前辈写的,取其精华,去其糟粕的爬了一下: import urllibfrom urllib import request ...

  6. ImportError: No module named 'BaseHTTPServer':解决方案

    利用python写了一小段代码,里面使用到了Python标准库的BaseHTTPServer来构建一个基础HTTP服务器: 1 #-*- coding:utf-8 -*- 2 import http. ...

  7. c#委托事件入门--第一讲:委托入门

    说起委托,有些刚刚入门c#的人感觉很高大上,没有接触过,但是其实很多人都用过Lambda表达式,实际上Lambda表达式就是一个委托. 关于委托入门有个大神写的很详细:张子阳的博客  C#中的委托和事 ...

  8. [学习OpenCV攻略][012][读取、修改、保存图像]

    使用 imread 读取图像,图像路径为 imageName ,图像按BGR格式读取. image = imread( imageName, CV_LOAD_IMAGE_COLOR); 将RGB图像转 ...

  9. Tree Recovery(由先、中序列构建二叉树)

    题目来源: http://poj.org/problem?id=2255 题目描述: Description Little Valentine liked playing with binary tr ...

  10. Access是什么?

    一种使用简单的数据库软件,非常实用! 是微软的一个小型数据库,是Microsoft office 中的一个组件. Access数据库能够进行数据表设计.可视查询设计.SQL查询语言.窗体设计.报表设计 ...