C#_枚举类型
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#_枚举类型的更多相关文章
- C#(结构体_枚举类型)
结构体一般定义在Main函数上面,位于Class下面,作为一个类:一般情况Struct定义在Main函数前面,Main函数里面的地方都可以使用,参数前面加上public代表公用变量. 用法 1 ...
- Java基础_枚举类型
作用:让数据更简洁,更易读,增加代码可读性. 为了用1,2,3,4,5分别表示老师,学生,小组,班主任,后勤,可以直接设置一个变量,让roleType = 1,但这样写代码可读性差. 也可以定义一个成 ...
- c#中[Flags] 枚举类型定义问题_百度知道
[Flags]的微软解释是“指示可以将枚举作为位域(即一组标志)处理.”其实就是在编写枚举类型时,上面附上Flags特性后,用该枚举变量是既可以象整数一样进行按位的“|”或者按位的“&”操作了 ...
- 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_枚举
在Duts的文件夹上右击,可以声明一个枚举类型,按照格式填写所有类型(注意枚举的元素前面都是逗号,最后一个不需要符号) 在正常使用的时候,枚举的单词可以当全局变量来用 更多教学视频和资料下 ...
- Java魔法堂:枚举类型详解
一.前言 Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息. // C# enum MyColor{ RED = , BLUE = } Console.Write ...
- C#_02.12_基础二_.NET类型存储和变量
C#_02.12_基础二_.NET类型存储和变量 一.核心一句:C#程序是一组类型声明(留待后面慢慢体会,现在不是很理解,不强说了) 二.数据类型: 1.预定义了16种数据类型: 其中13种简单数据类 ...
- java6枚举类型
java.lang.Enum > 使用enum定义. 类如: public class EnumDemo { enum Edge { TOP, BOTTOM, LEFT, RIGHT//定义了一 ...
- java中枚举类型的使用
Java 枚举(enum) 详解7种常见的用法 JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. web项目里实体类使用枚举类型: 一般在该实体 ...
- 全面解读Java中的枚举类型enum的使用
这篇文章主要介绍了Java中的枚举类型enum的使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下 关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始sw ...
随机推荐
- pad 横屏 cell不正常显示
在iOS9中,适配iPad横屏的时候,我发现cell不能正常显示,其标题和线都不是从左边头部开始,而是在中间,accessoryType的图标也不再右边尾部,效果如下图 但是在iPhone中是正常的, ...
- hdu 3681 Prison Break (TSP问题)
Prison Break Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tot ...
- Effective Objective-C 2.0 Reading Notes
1. Literal Syntax NSString *someString = @"Effective Objective-C 2.0"; NSNumber *someNumbe ...
- 在C#中利用Nuget包使用SQLite数据库和Linq to SQLite
本来是学习在VB中使用SQLite数据库和Linq to SQLite,结果先学习到了在C#中使用SQLite数据库和Linq to SQLite的方法,写出来与大家共同学习.(不知道算不算不务正业) ...
- oc-15-匿名对象
/** 匿名对象 1.访问成员变量--->只能给成员变量设置值,只能成功1次,每次都是新的对象. 2.调用方法时类似类方法: 跟类方法区别:匿名对象创建对象了,开辟空间了. */ #import ...
- 项目源码--Android新闻财经类商用要求源码
技术要点: 1. 商用要求源码框架 2. 登录与注册用户系统模块 3. Android的Http通信以及多线程处理模块 4. Andorid的网络数据处理模块 5. Andorid的版本检测与升级模块 ...
- java操作spark1.2.0
虽然推荐的是scala,但是还是试一下 package org.admln.java7OperateSpark; import java.util.Arrays; import java.util.L ...
- Python-Day11 RabbitMQ/redis
写在前面: 好久不写了,实在是不想写,坚持果然是一件不容易的事情. 我喜欢玩,我更爱学习,然而喜欢是放肆,爱是克制,哈哈.每天上班有些忙就不想动,只想在床上翻滚或者鏖战召唤师峡谷.上班闲着时想了想,一 ...
- 根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第2版)
目录: 第1版:http://blog.csdn.net/vipbooks/article/details/51912143 ...
- Comparison method violates its general contract
生产环境出现的错误排查,错误log如下 java.lang.IllegalArgumentException: Comparison method violates its general contr ...