C#中的枚举是名/值对的数据类型,下面是自定义的军衔等级的枚举

//定义枚举
enum MilitaryRank
{
Commander,
ArmyCorpCommander,
MilitaryDivisionLevelCommander,
RegimentalCommand }

MilitaryRank 枚举定义了4个命名常用,这些常量都对应一些离散值,默认情况下第一个元素值为0,其他元素按n+1递推。我们也可以改变默认的初始值,比如下面的

enum MilitaryRank
{
Commander=10, //赋予默认值
ArmyCorpCommander, //自动取得默认值11
MilitaryDivisionLevelCommander,//自动取得默认值12
RegimentalCommand //自动取得默认值13 }

当然枚举不是必须要求赋予初始值和值连续

控制存储类型

默认情况下,保存枚举值的是int类型,可以通过形如下的方式来改变枚举存储类型

enum MilitaryRank:byte

这样把MilitaryRank的实际存储设置成了byte类型,可以把枚举当作函数的返回值、方法参数、本地变量等

把枚举当作函数参数

static void Dispatch(MilitaryRank D)
{
switch(D)
{
case MilitaryRank.Commander:
Console.WriteLine("派遣司令");
break;
case MilitaryRank.ArmyCorpCommander:
Console.WriteLine("派遣军长");
break;
case MilitaryRank.MilitaryDivisionLevelCommander:
Console.WriteLine("派遣师长");
break;
case MilitaryRank.RegimentalCommand:
Console.WriteLine("派遣团长");
break;
default: Console.WriteLine("无人派遣");
break;
}
}

在为枚举类型赋值的时候,必须以枚举名来设置值,并且枚举类型中没有定义的值是非法的

System.Enum类型

所有.Net枚举类型都继承自System.Enum。拥有它的很多有用功能,比如

返回枚举类型值得数据类型

Console.WriteLine("保存枚举类型值得数据类型是:{0}", Enum.GetUnderlyingType(Send.GetType()));

返回当前枚举值得字符串名

Console.WriteLine("当前枚举值得字符串名{0}", Send.ToString());

C#_枚举类型的更多相关文章

  1. C#(结构体_枚举类型)

        结构体一般定义在Main函数上面,位于Class下面,作为一个类:一般情况Struct定义在Main函数前面,Main函数里面的地方都可以使用,参数前面加上public代表公用变量. 用法 1 ...

  2. Java基础_枚举类型

    作用:让数据更简洁,更易读,增加代码可读性. 为了用1,2,3,4,5分别表示老师,学生,小组,班主任,后勤,可以直接设置一个变量,让roleType = 1,但这样写代码可读性差. 也可以定义一个成 ...

  3. c#中[Flags] 枚举类型定义问题_百度知道

    [Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理.”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既可以象整数一样进行按位的“|”或者按位的“&”操作了 ...

  4. 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_枚举

    在Duts的文件夹上右击,可以声明一个枚举类型,按照格式填写所有类型(注意枚举的元素前面都是逗号,最后一个不需要符号)   在正常使用的时候,枚举的单词可以当全局变量来用     更多教学视频和资料下 ...

  5. Java魔法堂:枚举类型详解

    一.前言 Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息. // C# enum MyColor{ RED = , BLUE = } Console.Write ...

  6. C#_02.12_基础二_.NET类型存储和变量

    C#_02.12_基础二_.NET类型存储和变量 一.核心一句:C#程序是一组类型声明(留待后面慢慢体会,现在不是很理解,不强说了) 二.数据类型: 1.预定义了16种数据类型: 其中13种简单数据类 ...

  7. java6枚举类型

    java.lang.Enum > 使用enum定义. 类如: public class EnumDemo { enum Edge { TOP, BOTTOM, LEFT, RIGHT//定义了一 ...

  8. java中枚举类型的使用

    Java 枚举(enum) 详解7种常见的用法 JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. web项目里实体类使用枚举类型: 一般在该实体 ...

  9. 全面解读Java中的枚举类型enum的使用

    这篇文章主要介绍了Java中的枚举类型enum的使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下 关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始sw ...

随机推荐

  1. 一些关于Block, ARC, GCD的总结

    基础解释不做.基础的东西链接如下: 1. Block:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/Bl ...

  2. cJSON 使用笔记

    缘      起 最近在stm32f103上做一个智能家居的项目,其中选择的实时操作系统是 rt_thread OS v1.2.2稳定版本,其中涉及到C和java(android)端数据的交换问题,经 ...

  3. TMS3705A PCF7991AT 线路图

  4. 新建VM_Script

    在Hyper-V群集中,不需要设置VM的自启动,当宿主机意外关机重新启动后,上面的VM会自动转移到另一台主机:如果另一台主机处于关机状态,则宿主机重新启动后,其VM也会自启动(如果其VM在宿主机关机前 ...

  5. Objective-C语法之代码块(block)的使用

    代码块本质上是和其它变量相似.不同的是,代码块存储的数据是一个函数体.使用代码块是,你能够像调用其它标准函数一样,传入參数数,并得到返回值. 脱字符(^)是块的语法标记.依照我们熟悉的參数语法规约所定 ...

  6. Codeforces Round #290 (Div. 2) B. Fox And Two Dots dfs

    B. Fox And Two Dots 题目连接: http://codeforces.com/contest/510/problem/B Description Fox Ciel is playin ...

  7. Bootstrap 教程

    Bootstrap,来自 Twitter,是基于 HTML.CSS.JAVASCRIPT 的简介灵活的流行前段框架及交互组件集. 内容列表 Bootstrap 教程 Bootstrap 教程 Boot ...

  8. 用JSP实现的商城购物车模块

    这两天,在学习JSP,正好找个小模块来练练手: 下面就是实现购物车模块的页面效果截图: 图1. 产品显示页面 通过此页面进行产品选择,增加到购物车 图2 .购物车页面 图3 . 商品数量设置 好了,先 ...

  9. 字符集乱码问题:ISO-8859-1和GBK

    问题,引用百度知道的问题吧: http://zhidao.baidu.com/question/51342167.html?qbl=relate_question_0&word=%C3%84% ...

  10. Swift 本地推送通知UILocalNotification

    Notification是智能手机应用开发中常用的信息传递机制,它不用消耗更多资源去不停的检查信息状态,可以非常好的节省资源. 在iOS中分为两种通知:本地.远程.本地的UILocalNotifica ...