C#基础(六)--枚举的一些常用操作
本章将介绍以下几点:
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#基础(六)--枚举的一些常用操作的更多相关文章
- python基础(六)dict字典和文件操作open
字典dict 使用key来标注value的数据类型,key和value是一一对应的.在字典中key是唯一的,所以字典也是无序的. #定义一个字典 dict = { 'name' : 'sylar', ...
- 自定义枚举类型的常用操作-附源码(xjl456852原创)
自定义枚举类型中,假如我们有name和desc这样的属性,并在这个基础上定义了多个对象. 那么就可能用到通过name获取desc,或者通过desc获取name.通过name或者desc获取对应的枚举对 ...
- C#枚举类型的常用操作总结
枚举类型是定义了一组"符号名称/值"配对.枚举类型是强类型的.每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueTy ...
- 【mongoDB基础篇①】安装与常用操作语句
简述 mongoDB与redis同为noSql数据库,但是redis为kv数据库(key/value),而mongoDB为文档型数据库存储的是文档(Bson->json的二进制化).内部执行引擎 ...
- Java基础(六)--枚举Enum
枚举: 刚开始项目中没怎么用过,只知道能够实现作为项目中类似定义Constant的功能,然后知道枚举实现的单例模式几乎是最优雅的,所以, 想要深入完整的了解一下 1.基本特性: Enum.values ...
- Linux基础知识第六讲,远程管理ssh操作
目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...
- Docker 基础概念科普 和 常用操作介绍
Docker 基础概念 Docker是什么? Docker的思想来自于集装箱,集装箱解决了:在一艘大船上,可以把货物规整的摆放起来.并且各种各样的货物被集装箱标准化了,集装箱和集装箱之 ...
- Linux - nginx基础及常用操作
目录 Linux - nginx基础及常用操作 Tengine淘宝nginx安装流程 nginx的主配置文件nginx.conf 基于域名的多虚拟主机实战 nginx的访问日志功能 网站的404页面优 ...
- 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...
随机推荐
- PL/SQL游标详解
刚打开游标的时候,是位于一个空行,要用fetch into 才能到第一行. 只是要注意用更新游标的时候,不能在游标期间commit. 否则会报ORA-01002: fetch out of seque ...
- myEclipse配置SVN
方法三:直接解压 下载SVN插件:site-1.6.10.zip 解压后将其全部文件拷贝至:D:\Program Files\Genuitec\MyEclipse 8.5\drop ...
- android studio无法识别含有rcs包名的jar
http://blog.csdn.net/JingleYe/article/details/70048943 android studio无法识别含有rcs包名的jar android stu ...
- [国嵌笔记][019][Eclipse集成开发环境]
Eclipse集成开发环境的作用 可以编译程序,也可以对程序进行在线调试 集成开发环境 1.JLink连接开发板的JTAG 2.JLink连接PC的USB 3.eclipse软件 4.gdb serv ...
- NullPointerException org.apache.commons.digester.Digester.getXMLReader(Digester.java:1058)
http://pwu-developer.blogspot.com/2010/01/nullpointerexception.html Maven is great build tool making ...
- java实现单链表常见操作
一.概述: 本文主要总结单链表常见操作的实现,包括链表结点添加.删除:链表正向遍历和反向遍历.链表排序.判断链表是否有环.是否相交.获取某一结点等. 二.概念: 链表: 一种重要的数据结构,HashM ...
- windows server 2008使用nginx转发API异常解决办法
公司比较传统,一直使用的JSP做项目,没有遇到过跨域问题. 最近因为公司接到一个微信spa项目,因为考虑到项目需要调用老接口,斗胆选择nginx(1.12.1)做接口转发服务, 开发环境使用的win1 ...
- Linuxc - gdb调试程序
指针实现变量交换值 #include <stdio.h> void change(int *a,int *b) { int tmp = *a; *a = *b;// 将指针a所在地址的值, ...
- VM安装Ubuntu问题合集(无法联网、中文界面设置、中文输入法etc)
经常使用VM安装Ubuntu,安装系统的步骤跟着系统提示一步步下来就行,但总是遇到一些问题,这里记录一下常遇到的问题,以及自己解决的办法: 1.无法联网: 状况:Ubuntu不能联网,联网地方一直在闪 ...
- RocketMQ环境搭建(双master双slave模式)
1.环境准备: 准备四台主机(我这里用CentOSx64) 主机 角色 broker 192.168.192.130 Master1 BrokerServerA 192.168.192.131 Mas ...