C# 遍历枚举

本文告诉大家如何遍历枚举

遍历枚举是很简单,请看下面代码

            StringBuilder sdqsuhDboyowb=new StringBuilder();

            foreach (var temp in Enum.GetNames(typeof(MethodAttributes)))
            {
                sdqsuhDboyowb.Append(temp + "\r\n");
            }

使用 Enum.GetNames ,参数是枚举的类型就可以遍历

但是这个方法的性能比较差,可以使用一个库。首先打开 Nuget 安装 Enums.NET

然后使用下面的代码遍历

           foreach (var temp in Enums.GetNames<MethodAttributes>())
            {
                sdqsuhDboyowb.Append(temp + "\r\n");
            }

实际上就是使用 Enums.GetNames 传入枚举类型

如果需要获得每个的值,可以使用下面方法

            foreach (var temp in Enums.GetMembers<MethodAttributes>())
            {
                sdqsuhDboyowb.Append(temp.Name + " " + temp.ToInt32() + "\r\n");
            }

下面是对比性能,官方的,但是我没有自己去运行


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏.net core新时代

Quartz Cron表达式 在线生成器

Cron Expressions——Cron 表达式  按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,...

35590
来自专栏大内老A

通过扩展改善ASP.NET MVC的验证机制[实现篇]

在《使用篇》中我们谈到扩展的验证编程方式,并且演示了本解决方案的三大特性:消息提供机制的分离、多语言的支持和多验证规则的支持,我们现在来看看这样的验证解决方案最...

220100
来自专栏大内老A

EnterLib PIAB又一个BUG?[续]——这是一个致命的BUG

在《EnterLib PIAB又一个BUG?》这篇文章中我们谈到:当我们通过应用DependencyAttribute特性定义需要自动注入的属性的时候,当这个属...

24590
来自专栏令仔很忙

面向对象编程实例

上一篇博客主要是在理论上介绍面向对象编程,下面通过一个计算器的实例来学习面向对象的好处。

18810
来自专栏逸鹏说道

【推荐】C#线程篇---Task(任务)和线程池不得不说的秘密(5.2)

ContinueWith? 啥东西~~??  要写可伸缩的软件,一定不能使你的线程阻塞。这意味着如果调用Wait或者在任务未完成时查询Result属性,极有...

45760
来自专栏大内老A

ASP.NET MVC是如何运行的(4): Action的执行

作为Controller基类ControllerBase的Execute方法的核心在于对Action方法的执行和作为方法返回的ActionResult的执行,两...

20480
来自专栏Python

Django--admin源码流程

admin.py from django.contrib import admin from . import models """ 通过原生的django a...

30880
来自专栏小樱的经验随笔

Codeforces 714A Meeting of Old Friends

A. Meeting of Old Friends time limit per test:1 second memory limit per test:256...

391100
来自专栏葡萄城控件技术团队

Top 15 不起眼却有大作用的 .NET功能集

目录 1. ObsoleteAttribute 2. 设置默认值属性: DefaultValueAttribute 3. DebuggerBrowsableAt...

232100
来自专栏领域驱动设计DDD实战进阶

05-TypeScript中的方法新功能(下)

再TypeScript中,方法还有一些新功能能够让我们更好的控制方法执行。 1.Generator方法: yield关键字用于控制方法在执行的时候暂停住,后续方...

28250

扫码关注云+社区

领取腾讯云代金券