1. 枚举的综合运用

public enum Color { yellow, blue, green }

class Program
{
static void Main(string[] args)
{
// 1. 正常使用枚举元素
Console.WriteLine(Color.yellow); // 输出: yellow // 2. 通过定义变量使用枚举元素
Color c1 = Color.blue;
Console.WriteLine(c1); // 输出: blue // 3. 枚举的元素实际上是“Int”,而且依次编号(增量为1)
Console.WriteLine(Convert.ToInt32(Color.green)); // 输出2 // 4. Enum.Parse()方法,根据“字符串”获取对应的枚举元素
Color c2 = (Color)Enum.Parse(typeof(Color), "yellow", true);
if (c2 == Color.yellow)
{
Console.WriteLine("Yes");   // 输出: Yes
} // 5. 根据“下标”获取对应的字符串
string c3 = Enum.GetName(typeof(Color), 1);
Console.WriteLine(c3); // 输出: blue // 6. 依次输出枚举元素(下标)
foreach(int i in Enum.GetValues(typeof(Color)))
{
Console.WriteLine(i.ToString()); // 依次输出: 1, 2, 3
Console.WriteLine(Enum.GetName(typeof(Color), i)); // 根据“下标”获取对应字符串,依次输出: yellow, blue, green
} // 7.依次输出枚举值对应的字符串
foreach (string c in Enum.GetNames(typeof(Color)))
{
Console.WriteLine(c); // 依次输出: yellow, blue, green
}
}
}

2. 枚举的值

  • 枚举元素不是变量,而是常数。因为是常量,所以不能对枚举元素进行赋值。
  • 枚举元素作为常量,它们是有值的,值依次递增,增量为1。
public enum Color { yellow, blue, green }
等同于:
public enum Color { yellow = 0, blue = 1, green = 2 }
public enum Color { yellow, blue = 100, green }
等同于:
public enum Color { yellow, blue = 100, green = 101 }

3. Enum.Parse(enumType, value, ignoreCase)

根据给定“字符串”获取枚举的值,返回object(使用时需要强类型转换)。

// enumType: 枚举的 Type
// value: 包含要转换的值或名称的字符串
// ignoreCase: 如果为 true,则忽略大小写;否则考虑大小写
// 返回值: enumType 类型的对象,其值由 value 表示
public static Object Parse (
Type enumType,
string value,
bool ignoreCase
)

C#:枚举的更多相关文章

  1. Swift enum(枚举)使用范例

    //: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...

  2. 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)

    建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...

  3. Objective-C枚举的几种定义方式与使用

    假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...

  4. Help Hanzo (素数筛+区间枚举)

    Help Hanzo 题意:求a~b间素数个数(1 ≤ a ≤ b < 231, b - a ≤ 100000).     (全题在文末) 题解: a~b枚举必定TLE,普通打表MLE,真是头疼 ...

  5. 枚举:enum

    枚举 所谓枚举就是指定好取值范围,所有内容只能从指定范围取得. 例如,想定义一个color类,他只能有RED,GREEN,BLUE三种植. 使用简单类完成颜色固定取值问题. 1,就是说,一个类只能完成 ...

  6. .NET 基础一步步一幕幕[方法、结构、枚举]

    方法.结构.枚举 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值,写void 方法名:P ...

  7. Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件

    在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...

  8. 用枚举enum替代int常量

    枚举的好处: 1. 类型安全性 2.使用方便性 public class EnumDemo { enum Color{ RED(3),BLUE(5),BLACK(8),YELLOW(13),GREEN ...

  9. c#编程基础之枚举

    枚举的意义就在于限制变量取值范围. 当可以确定的几种取值时才可以用. 如果输入一个字符串需要进行判断是否是我们需要的字符串时,则一般需要这样写: using System; using System. ...

  10. golang枚举类型 - iota用法拾遗

    在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...

随机推荐

  1. js的并行加载以及顺序执行

    重新温习了下这段内容,发现各个浏览器的兼容性真的是搞大了头,处理起来很是麻烦. 现在现总结下并行加载多个js的方法: 1,对于动态createElement('script')的方式,对所有浏览器都是 ...

  2. Cesium应用篇:1快速搭建

    范例中所有范例可以在Github中搜索:ExamplesforCesium Cesium ['siːzɪəm]是一款开源的JavaScript开源库,开发者通过Cesium,实现无插件的创建三维球和二 ...

  3. ASP.NET 实现站内信功能(点对点发送,管理员群发)

    正好这段时间在研究这个功能,还是得感谢这位大神,没有他的引路,我就不可能把站内信做出来. http://www.cnblogs.com/grenet/archive/2010/03/08/168065 ...

  4. TreeView控件使用

    treeView1.SelectedNode = treeView1.Nodes[0];  //选中当前treeview控件的根节点为当前节点添加子节点:  TreeNode tmp; tmp = n ...

  5. asp.net MVC 回顾 Html.ActionLink

    在asp.net MVc中想生成一个超链接有很多种方式,通过直接输入<a>.Html.ActionLink.Html.RouteLink等等,今天我们要阐述的就是Html.ActionLi ...

  6. gitlab工作流程简介

    gitlab工作流程简介 新建项目流程 创建/导入项目 可以选择导入github.bitbucket项目,也可以新建空白项目,还可以从SVN导入项目 建议选择private等级 初始化项目 1.本地克 ...

  7. C#新手常犯的错误

    虽然这篇post的标题是新手常犯的错误,实际上很多有经验的程序员也经常犯这些错误,我整理了一下,就当是笔记.1.遍历List的错误,比如如下代码: List<String> strList ...

  8. java jni c++ 例子

    1. java程序 public class TestHello { static { System.loadLibrary("TestHello"); } public stat ...

  9. springmvc整合mybatis框架源码 bootstrap

    A集成代码生成器 [正反双向(单表.主表.明细表.树形表,开发利器)+快速构建表单 下载地址    ; freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本,处理类 ...

  10. jQuery手机端触摸卡片切换效果

    效果:http://hovertree.com/code/run/jquery/a1gr3gm9.html 可以用手机查看效果. 代码如下: <!doctype html> <htm ...