C#中枚举类型和int类型的转化

先定义一个枚举类型

public enum PropertyType { 小学 = 0, 初中, 高中,大学 };

 

int ->enum 

       int d=2;     

       PropertyType  a=(PropertyType)d;

int <- enum        

       PropertyType  d = PropertyType.小学;       

       int a = Convert.ToInt32(d);

Enum类有关的方法

Enum.Parse 方法 (Type, String)

将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。

 
public static Object Parse(Type enumType,string value
)参数
enumType类型:System.Type
枚举类型。

value类型:System.String 包含要转换的值或名称的字符串。返回值类型:System.Object enumType 类型的对象,其值由 value 表示。
 

如果我们有两个enum,

1public enum Colors {Red, Green, Blue}
2 
3public enum BgColors {Red, Black, Green, Blue }

 

看起來差不多。

有一天有需要把一个变成另一个來用。可能会写成这样:

1Colors font_color = Colors.Blue;
2BgColor bg = (BgColor)font_color;

看起來可以,编译也对。但实际上是不對的,因为实际上是转成enum所代表的int,对应的結果往往不是我们想要的。

正确的作法是 

1Colors font_color = Colors.Blue;
2(BgColor)Enum.Parse(typeof(BgColor), font_color.ToString());

 这是一种很简单的理念,但常常写成上面的写法。但日后如果其中之一有变,造成顺序有更改的話,就会出现错误。

 

Enum.GetName 方法

指定枚举中检索具有指定值的常数的名称。

public static string GetName(Type enumType,Object value
)enumType
类型:System.Type
枚举类型。value
类型:System.Object
特定枚举常数的值(根据其基础类型)。返回值
类型:System.String
一个字符串,其中包含 enumType 中值为 value 的枚举常数的名称;如果没有找到这样的常数,则为 null

 

Enum.GetNames 方法

检索指定枚举中常数名称的数组。

 

public static string[] GetNames(Type enumType
)参数
enumType
类型:System.Type
枚举类型。返回值
类型:System.String[]
enumType 的常数名称的字符串数组。
View Code

 

 

 

 

 

转载于:https://www.cnblogs.com/tech-bird/p/3515199.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux mysql odbc驱动安装_MySQL ODBC 驱动安装

阅读目录一、在线安装1、yum在线安装驱动2、配置驱动3、测试连接二、编译安装1、MySQL创建测试用户和测试库2、安装驱动3、配置驱动4、测试一、在线安装1、yum在线安装驱动# yum -y installunixODBC#yum -y install mysql-connector-odbc2、配置驱动(1)查看驱动程序相关信息# c…

通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全

编辑人员注释&#xff1a;本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写。 随着身份盗窃和各种形式的网络犯罪迅速增多&#xff0c;使用安全套接字层 (SSL) 对网站进行保护变得越来越重要和普遍。如果将网站托管在 Windows Azure 网站 (WAWS) 上&#xff0c;您可…

mysql之多表查询

今天在项目中遇到一个数据库查询的问题&#xff1a;三张表分别放置不同的东西&#xff1a;分享的音频相关数据、分享的文字图片说说、分享的主题相关数据。所有分享的东西都可看做新鲜事&#xff0c;现在要求从这三张表将相同的几个字段的数据全部查找出来按照发布时间先后排序…

设立SharePoint2010列表的项目级权限

设置SharePoint2010列表的项目级权限 在SharePoint2010中我们经常会用到这样的权限设置&#xff0c;在一个列表中可以存储多个人输入的数据&#xff0c;但每个人只能看到自己的那部分数据。也就是多个人共同维护一个列表&#xff0c;但各自只能查看、编辑、删除自己录入的那部分…

二叉树第i层中的所有结点_讲透学烂二叉树(二):图中树的定义amp;各类型树的特征分析...

日常中我们见到的二叉树应用有&#xff0c;Java集合中的TreeSet和TreeMap&#xff0c;C STL中的set、map&#xff0c;以及Linux虚拟内存的管理&#xff0c;以及B-Tree&#xff0c;B-Tree在文件系统&#xff0c;都是通过红黑树去实现的。虽然之前写过《再谈堆排序&#xff1a;堆…

mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)

首先建立.net Core API - empty 这个就不说了然后创建新的Controller记得添加路由[Route("api/Users")]然后在Nuget Packages安装 所需安装包这里是用mysql所以下载如下的mysqlSugarCore(切记不要忘记安装Mysql.Data)创建实例化class文件DbText.cs用于连接数据库&…

关于eclipse的indigo版中文注释时字体太小的问题(转)

eclipse目前最新版代号indigo, 在win7上使用时中文注释时字体太小的问题. 为什么会这样? 首先我们应该知道, 在win7系统中, font是有"显示"和"隐藏" 状态的. 默认情况下, eclipse使用的默认字体courier new是处于 "隐藏"下的. 这样当eclipse打开…

centos 多个mysql数据库_CentOS6.5 一台服务器同时安装多个Mysql数据库

建用户与组groupadd mysqluseradd -g mysql mysql下载源码&#xff1a;wget https://downloads.mariadb.org/interstitial/mariadb-10.1.10/source/mariadb-10.1.10.tar.gztar -xvf mariadb-10.1.10.tar.gz1、编译&#xff1a;cmake . -DCMAKE_INSTALL_PREFIX/var/lib/mysql33…

linux ll 文件大小单位_该如何改善 Linux 系统性能?

系统性能一直是一个受关注的话题&#xff0c;如何通过最简单的设置来实现最有效的性能调优&#xff0c;如何在有限资源的条件下保证程序的运作&#xff0c;ulimit 是我们在处理这些问题时&#xff0c;经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能&#xff0c;它…

深入Javascript中apply、call、bind

最近在看一下node package的源码&#xff0c;发现很多里面都包含了function这个对象的apply、call、bind这三个方法&#xff0c;于是想拿出来再看看。。 apply、call 在 javascript 中&#xff0c;call 和 apply 都是为了改变某个函数运行时的上下文&#xff08;context&#x…

优秀案例!教您如何设计现代简约风格网页

我们看到越来越多的设计师开始拥抱简约的网站设计方法&#xff0c;消除网站不必要的元素&#xff0c;保留真正重要的内容&#xff0c;干净、直观的设计&#xff0c;就像今天的我们将展示的这些网站。 下面是一组不同风格的简约设计的网站例子&#xff0c;美丽的导航、整洁的菜单…

数据分页和使用存储过程的数据分页

--使用存储过程的数据分页 --pageSize 一页有多少条 --pageIndex 第几页 --totalCount 总共有多少条 --分页的第一种方法 select top(10) * from Ams_Area where ar_id not in ( Select top(0) ar_id from Ams_Area order by ar_id ) order by ar_id --分页的第二种方…

NavMeshAgent 动态加载障碍物

如果你想让游戏人物绕开一些物体, 这些物体动态生成出来的.只需要给物体添加NavMeshObstacle组件即可 1. 绿色方块添加NavMeshObstacle组件 2. 红色方块没有添加NavMeshObstacle组件,被小球穿透了%>_<% 转载于:https://www.cnblogs.com/plateFace/p/4385629.html

多任务 schedule python_Python3.6 Schedule 模块定时任务 (实例讲解)

Python3.6 Schedule 模块定时任务 (实例讲解)Python 是一种面向对象解释型计算机程序设计语言, 由 Guido van Rossum 于 1989 年底发明, 第一个公开发行版发行于 1991 年 Python 语法简洁而清晰, 具有丰富和强大的类库它常被昵称为胶水语言, 它能够把用其他语言制作的各种模块 …

UVa 11468 (AC自动机 概率DP) Substring

将K个模板串构成一个AC自动机&#xff0c;那些能匹配到的单词节点都称之为禁止节点。 然后问题就变成了在Tire树上走L步且不经过禁止节点的概率。 根据全概率公式用记忆化搜索求解。 1 #include <cstdio>2 #include <cstring>3 #include <queue>4 using name…

css 伪元素分享!!!

最近接触到的css 伪元素觉得还算不错 分享下&#xff1a; 1、清楚内盒浮动设置&#xff1a; .back_list ul{padding:12px 0 0 12px;zoom:1;} .back_list ul:after{clear: both;content: ".";display: block;height: 0;visibility: hidden;}/*清楚内盒浮动设置*/ 2、伪…

蓝桥杯 花朵数

一个N位的十进制正整数&#xff0c;如果它的每个位上的数字的N次方的和等于这个数本身&#xff0c;则称其为花朵数。 例如&#xff1a; 当N3时&#xff0c;153就满足条件&#xff0c;因为 1^3 5^3 3^3 153&#xff0c;这样的数字也被称为水仙花数&#xff08;其中&#xff0…

ROC曲线【转】

ROC曲线&#xff08;Receiver Operating Characteeristic Curve&#xff09;是显示Classification模型真正率和假正率之间折中的一种图形化方法 解读ROC图的一些概念定义&#xff1a; 真正&#xff08;True Positive , TP&#xff09;被模型预测为正的正样本 假负&#xff08;F…

java eclipse oxygen_Eclipse Java Oxygen配置Tomcat

eclipse oxygen 配置tomcat 9.0第一步 装上eclipse的EE插件因为我以前学习java都是用eclipse oxygen的se版本&#xff0c;所以并不支持j2EE&#xff0c;所以第一步&#xff0c;就是要先把它升级为EE版本。有两种方法供我们选择。重新安装eclipse的EE版本。安装eclipse的EE插件。…

java 数组处理_JAVA操作数组

使用 Arrays 类操作 Java 中的数组Arrays 类是 Java 中提供的一个工具类&#xff0c;在 java.util 包中。该类中包含了一些方法用来直接操作数组&#xff0c;比如可直接实现数组的排序、搜索等Arrays 中常用的方法&#xff1a;1、 排序语法&#xff1a; Arrays.sort(数组名);可…