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. 重温JSP学习笔记--与日期数字格式化有关的jstl标签库

    上一篇笔记写的主要是JSTL的core标签库,如果想对一些数字或者日期做一些操作或者在网页上显示指定格式的数字或日期,jstl还提供了另一个fmt标签库,这里简单介绍一下: 第一步,导入标签库: &l ...

  2. DotNet中几种常用的加密算法

    在.NET项目中,我们较多的使用到加密这个操作.因为在现代的项目中,对信息安全的要求越来越高,那么多信息的加密就变得至关重要.现在提供几种常用的加密/解密算法. 1.用于文本和Base64编码文本的互 ...

  3. 在IIS EXPRESS下运行一个visual studio 项目,跳转到另一个项目的解决方案。

    原因是因为以前有一个项目也是3690端口,然后在3690端口上建立了一个网站,现在的新网站也是用的3690端口,那么会调用以前网站的WEB.CONFIG文件. 解决方法,右键单击网站,然后选择属性.在 ...

  4. block,inline和inline-block概念和区别

    总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...

  5. System.Security.Cryptography.CryptographicException,密钥集不存在

    非常感谢,已经解决了.是当前用户没有权限访问证书的私钥文件的问题,之前尝试去解决,但是在对:C:\Documents and Settings\All Users\Application Data\M ...

  6. 设计模式(四)抽象工厂模式(Abstract Factory Pattern)

    一.引言 在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码,而工厂方法模式每个具体工厂类只完成单个实例的创建 ...

  7. android Can't bind to local 86XX for debugger

    For some reason eclipse DDMS always gives the error 'Can't bind to local 86XX for debugger' every ti ...

  8. jQuery页面滚动右侧浮动导航切换

    体验效果:http://hovertree.com/texiao/jquery/49/ 效果图: 代码如下: <!DOCTYPE html> <html> <head&g ...

  9. 【Java每日一题】20161221

    package Dec2016; public class Ques1221 { } class Parent{ public void test(){ System.out.println(&quo ...

  10. php语言实现的7种基本的排序方法

    今天总结了一下常用的7种排序方法,并用php语言实现. 直接插入排序 /* * 直接插入排序,插入排序的思想是:当前插入位置之前的元素有序, * 若插入当前位置的元素比有序元素最后一个元素大,则什么也 ...