void Main()
{
new EnumForeach().Foreach();
} public class EnumForeach
{
public void Foreach()
{
foreach (Status item in Enum.GetValues(typeof(Status)))
{
item.ToString().Dump();
((int)item).Dump();
}
}
} public enum Status
{
AA = ,
BB = ,
CC =
}

 开发中有时会需要遍历枚举类型,例如,我在处理一个问题时,需要将整型转换成对应的枚举类型。思路有好多,在这里说讨论几种情况的:

  1、用Switch 语句 逐个比较枚举中的类型是否和该整型相等,返回相等时的枚举类型。

  2、如上,通过遍历枚举类型,这样代码明显少了很多,优雅了不少,并且,在枚举添加值时,不需要修改这段代码。(GET)

  3、通过字典实现,也是比较麻烦,并且枚举添加值时,也要修改相应的字典内容。

C# Enum 类型遍历的更多相关文章

  1. C#遍历enum类型

    对于enum类型: 使用foreach遍历enum类型的元素并填充combox foreach ( HatchStyle hs1 in Enum.GetValues(typeof(HatchStyle ...

  2. C#基础知识回顾--C#遍历enum类型、获取enum项个数

    C#遍历enum类型 对于enum类型: 使用foreach遍历enum类型的元素并填充combox foreach ( HatchStyle hs1 in Enum.GetValues(typeof ...

  3. C#中对于Enum类型的遍历

    假设有enum类型定义为MyEnumType 则可以这样遍历:  //遍历 枚举类型中的所有成员 foreach (MyEnumType type in Enum.GetValues(typeof(M ...

  4. java中enum类型的使用

    java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我 ...

  5. Enum 类型

    枚举类型(Enumerated Type) 什么是枚举? 枚举是一个被命名的整型常数的集合.在多种编程语言中都有使用(C/C++/c#/java等). 示例 public enum Size { S, ...

  6. set和enum类型的用法和区别

    mysql中的set和enum类型的用法和区别 mysql中的enum和set其实都是string类型的而且只能在指定的集合里取值, 不同的是set可以取多个值,enum只能取一个值.   1 2 3 ...

  7. MYSQL中 ENUM 类型

    MYSQL中 ENUM 类型的详细解释 ENUM类型 ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串(&quo ...

  8. C#中enum类型

    最近碰到了枚举类型,就顺便整理下. 枚举的基类Enum,可以是除 Char 外的任何整型.不做显示声明的话,默认是整形(Int32). 声明一个Enum类型: /// <summary> ...

  9. Java中Enum类型的序列化(转)

    在Java中,对Enum类型的序列化与其他对象类型的序列化有所不同,今天就来看看到底有什么不同.下面先来看下在Java中,我们定义的Enum在被编译之后是长成什么样子的. Java代码: Java代码 ...

随机推荐

  1. 【VMware vSphere】VMware vSphere简单了解

    *什么是VMware vSphere           说VMware vSphere可能刚开始都是一脸懵逼,但是看到VMware时,首先想到的是不是VMware Workstation?也就是虚拟 ...

  2. 算法:60.第k个排列

    解答参考:https://blog.csdn.net/lqcsp/article/details/23322951 题目链接:https://leetcode-cn.com/problems/perm ...

  3. Server-side activities have been updated. You need to restart SharePoint Designer to use the updated version of activities

    一,环境: SharePoint Online Win10 + SharePoint Designer 2013 错误描述: 使用SPD3013打开SPO站点,然后编辑已有工作流(2013),报错: ...

  4. <TCP/IP>记一次关于IP地址和MAC物理地址的思考

    是的,从3月6日第一次上计算机网络课起,我还是今天第一次对这本书里讲的知识点有了自己的疑问..之前看书就是 嗯嗯这好像很有道理,嗯嗯也许再多看几章就知道它在讲什么了.. 不过今天已经自学到了网络层了, ...

  5. $Django 客户端->wsgi->中间组件->urls->views(model,template) 总结+补充(事物,choices,inclusion_tag)!

    1 HTTP协议:(重点)  -请求   -请求首行    -GET /index HTTP/1.1 \r\n   -请求头部    -key:value------>\r\n分割    _ke ...

  6. 简单的三级联动demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. 前端 ----jQuery的属性操作

    04-jQuery的属性操作   jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如 ...

  8. Android Apk 瘦身大法

    原文地址: https://mp.weixin.qq.com/s/XS0tuLgTfyp4rW4h69wyQQ 一, 我们在多人开发项目 或者 遗留项目中开发时,会有些自己没用到的资源文件,但是自己也 ...

  9. C# Excel行高、列宽、合并单元格、单元格边框线、冻结

    private _Workbook _workBook = null;private Worksheet _workSheet = null;private Excel.Application _ex ...

  10. Spark-SQL之DataFrame操作

    Spark SQL中的DataFrame类似于一张关系型数据表.在关系型数据库中对单表或进行的查询操作,在DataFrame中都可以通过调用其API接口来实现.可以参考,Scala提供的DataFra ...