C#枚举、值、字符串的相互转换
目录
- 枚举的定义
- 使用方式
- 优点
- 代码示例
枚举的定义
枚举是整数类型,用户自定义的整数类型的一个集合。
使用方式
public enum A
{a=0,b=1,c=2
}
注意:枚举定义的不同变量之间要用“,”分割,结尾不需要加上“,”
优点
- 可以使代码更易于维护
- 可以使代码更清晰
- 更易于输入与使用枚举值
代码示例
using System; 2 3 class Program 4 { 5 public enum Color 6 { 7 星期一 = 0xff0000 , 8 星期二 = 0xFFA500 , 9 星期三 = 0xFFFF00
14 }
15
16 static void Main( string [] args)
17 {
18 Week week = Week.星期一 ;
19 string WeekDayString = " 星期一 " ;
20 int WeekDay = 0x0000FF ;
21
22 // 枚举转字符串
23 string enumStringOne = week .ToString(); //效率低,不推荐
24 string enumStringTwo = Enum.GetName( typeof (Week), week);//推荐
25
26 // 枚举转值
27 int enumValueOne = week .GetHashCode();
28 int enumValueTwo = ( int )week ;
29 int enumValueThree = Convert.ToInt32(week );
30
31 // 字符串转枚举
32 Week enumOne = (Week)Enum.Parse( typeof (Week), WeekString);
33
34 // 字符串转值
35 int enumValueFour = ( int )Enum.Parse( typeof (Week), WeekString);
36
37 // 值转枚举
38 Week enumTwo = (Week)weekValue;
39 Week enumThree = (Week)Enum.ToObject( typeof (Week), weekValue);
40
41 // 值转字符串
42 string enumStringThree = Enum.GetName( typeof (Week), weekValue);
43 }
44 }
45
46
47 // 假设有枚举值如下:
48
49 public enum DbProviderType
50
51 {
52
53 SqlServer,
54
55 Oracle
56
57 }
58 // 1、将枚举转换为字符串:
60 string strDbType = DbProviderType.SqlServer.ToString();
61 // 2、将字符串转换为枚举:
62 DbProviderType dbType = (DbProviderType)Enum.Parse( typeof (DbProviderType), strDbType, true );
C#枚举、值、字符串的相互转换相关推荐
- C# 声明枚举、枚举值描述 获取枚举值字符串 根据枚举获取枚举值描述
一.声明枚举值.枚举值描述 using System.ComponentModel;public enum status {/// <summary>/// 取消/// </summ ...
- Unity枚举和字符串的相互转换
直接上代码,见下图: public enum enumEx {A,B,C,D, } public class enumTest : MonoBehaviour { void Start () {str ...
- 如何从Java中的字符串值获取枚举值?
说我有一个枚举 public enum Blah {A, B, C, D } 我想找到一个字符串的枚举值,例如"A"就是Blah.A 怎么可能做到这一点? Enum.valueOf ...
- 枚举值转换(字符串转换为枚举和整数转换为枚举)
假设定义了一个这样的枚举类型: enum MyEnum { aa = 1, bb = 2 } 1.字符串转换为枚举: string strA = "aa"; MyEnum myEn ...
- 制作一个小工具:自动生成“将特定枚举值转换成字符串的C++函数”的代码
需求 假设我有一种枚举类型: enum fruit_type {apple,banana,orange, }; 我时常会遇到需要将枚举值转换为字符串的情况,即我需要如下的函数: const char* ...
- mysql 改变枚举值_mysql 改变数据类型为枚举不成功?
很明显的错误啊,你表里面内容有误,可以先将列gender的内容全部update成female和male,然后再运行这条sql脚本. 以下内容来源:MYSQL中 ENUM 类型 ENUM类型 ENUM ...
- mysql characterencoding 枚举值_mysql中enum类型理解,读完之后,大部分程序员收藏了......
ENUM是枚举类型,它虽然只能保存一个值,却能够处理多达65535个预定义的值.下面是我写的一个mysql语句 CREATE TABLE student(id INT(11) PRIMARY key ...
- 扩展方法 枚举值_扩展枚举功能的两种方法
扩展方法 枚举值 前言 在上一篇文章中,我解释了如何以及为什么在Java代码中使用enums而不是switch/case控制结构. 在这里,我将展示如何扩展现有enums功能. 介绍 Java enu ...
- jdk switch 枚举_JDK 12开关表达式遇到意外的枚举值
jdk switch 枚举 正如我在" 玩JDK 12的Switch表达式 "一文中所写的那样, JDK 12 Early Access Build使JEP 325 [" ...
最新文章
- jquery ajax多次请求接口解决方案
- 数据库如何进行索引优化
- python简单笔记
- 我的游测之路 | 揭秘游戏测试神秘面纱(一)
- linux驱动头文件查找目录,在Fedora 20中查找简单设备驱动程序的头文件
- Flink】FLink 通讯组件 RPC
- ios 调用系统应用的方法 应用间跳转的方法
- 【报告分享】2020程序员人群洞察报告.pdf(附下载链接)
- JAVA的对象访问定位
- jquery 筛选不到 checkbox, radio 表单元素
- java自动排序_java中的自动排序集合 ---- 20160809
- 保持长宽比 对背景图像进行修改android:scaleType=fitXY
- Nginx PageSpeed模块配置和使用
- CSDN积分获取规则
- 怎么用html实现QQ代挂功能,QQ等级每天有几种加速方式
- Qt编写可视化大屏电子看板系统32-模块10大屏地图
- 数据库中的SCHEMA到底是什么?MySQL
- c语言字母大小写转换程序
- PHP的面向对象编程思想
- 【老生谈算法】matlab实现细菌觅食算法(BFA)源码——粒子群算法