1.枚举使用enum关键字来声明,与类同级。枚举可以和类并列也可以

写在类里面,不能写在方法里。

2.枚举是值类型,隐式继承自System.Enum,不能手动修改。

System.Enum本身是引用类型,继承自 System.ValueType。

3.·枚举本身一般不加访问修饰符,要加的话只能是internal

或public;

·枚举都是隐式密封的(sealed),不允许作为基类派生子类。

4.枚举里面的成员只能是默认公共的静态的(public、static),不能

有访问修饰符;

5.·每种枚举类型都有基础类型,该类型可以是任何整型, 枚举元素

的默认基础类型为 int。

·默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次

递增 1。

·枚举数可以具有重写默认值的初始值设定项。但是,强烈建议枚

举包含一个值为 0 的常量。

·枚举元素不可以重复,枚举元素的值可以重复。

·枚举数的名称中不能包含空白。

6.最后一个元素后的逗号可有可无。枚举最后的冒号可有可无。

7.基础类型指定为每个枚举数分配的存储大小。但是,从 enum 类型

到整型的转换需要用显式类型转换来完成。

详情看下面代码:

 namespace EnumTest01
{
class Program
{
static void Main(string[] args)
{
//3.-----------------------------------------------------------------------------------------------------
//***基础类型指定为每个枚举数分配的存储大小。但是,从 enum 类型到整型的转换需要用显式类型转换来完成。
int a = (int)Days1.Fri;
Console.WriteLine(a); //打印6
Console.WriteLine(Days1.Fri); //打印Fri Console.ReadKey();
} //4.-------------------------------------------------------------------------------------------------
//***枚举可以和类并列也可以写在类里面,不能写在方法里。
enum A : byte
{ }
} //1.--------------------------------------------------------------------------------------------- //***枚举本身一般不加访问修饰符,要加的话只能是internal或public.
enum Animal //此处可以加访问修饰符internal或者public。
{
dog = , //枚举里面的成员是默认公共的,不能有其他修饰符。
cat = ,
pig = ,
//pig = 0
} //***枚举都是隐式密封的,不允许作为基类派生子类。
//enum M : Animal { } //这里会报错,因为枚举不能作为基类去派生子类。 //***枚举里面的成员只能是默认公共的静态的,默认为Int32类型,不能有访问修饰符。 //2.--------------------------------------------------------------------------------------------- //***每种枚举类型都有基础类型,该类型可以是任何整型, 枚举元素的默认基础类型为 int.
//byte的位置可以写: byte、sbyte、short、ushort、int、uint、long、ulong。不写的话默认为int.
enum A : byte
{ } //***默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。例如:
enum Days1 { Sat, Sun, Mon, Tue, Wed, Thu, Fri };
//在 Days1 枚举中,Sat 为 0,Sun 为 1,Mon 为 2,依此类推。枚举数可以具有重写默认值的初始值设定项。例如:
enum Days2 { Sat = , Sun, Mon, Tue, Wed, Thu, Fri };
//在 Days2 枚举中,强制元素序列从 1 而不是 0 开始, Sat 为 1,Sun 为 2,Mon 为 3,依此类推。但是,强烈建议枚举包含一个值为 0 的常量。 //***枚举元素不可以重复,枚举元素的值可以重复。
enum Days3
{
Sat = ,
//Sat = 0, //此处会报错,以为已经定义了一个Sat. 枚举成员不能相同,但枚举的值可以相同。
Sun = ,
Mon = ,
Tue,
Wed,
Thu = ,
Fri, //最后一个元素后的逗号可有可无。
}; //枚举最后的这个冒号可有可无。
//在 Days3 枚举中, Tue的值是2,Wed的值是3,Fri的值是11。 //***枚举数的名称中不能包含空白。
}

C# 枚举类型 enum (一)的更多相关文章

  1. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

  2. C# 中的枚举类型 enum (属于值类型)

    原文 C# 中的枚举类型 enum (属于值类型) C# 支持两种特殊的值类型:枚举和结构. 声明枚举:声明时要声明所有可能的值. using System; using System.Collect ...

  3. 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)

    java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...

  4. 枚举类型enum详解——C语言

    enum enum是C语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶 ...

  5. 深入理解Java枚举类型(enum)

    https://blog.csdn.net/javazejian/article/details/71333103 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(en ...

  6. 人生苦短之Python枚举类型enum

    枚举类型enum是比较重要的一个数据类型,它是一种数据类型而不是数据结构,我们通常将一组常用的常数声明成枚举类型方便后续的使用.当一个变量有几种可能的取值的时候,我们将它定义为枚举类型.在Python ...

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

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

  8. Java基础之枚举类型Enum的使用

    Java基础之枚举类型Enum的使用 定义 public enum AccruedCleanEnum { SPREAD("1","发票"),OTHER(&quo ...

  9. 《挑战30天C++入门极限》新手入门:C/C++中枚举类型(enum)

        新手入门:C/C++中枚举类型(enum) 如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型.之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来. ...

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

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

随机推荐

  1. bzoj 1711 Dining吃饭 —— 最大流

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1711 食物一列,牛拆点,饮料一列. 代码如下: #include<cstdio> ...

  2. Java 的 Tuple 元组数据类型

    元组类型,即 Tuple 常在脚本语言中出现,例如 Scala 的 ("Unmi", "china@qq.com", "blahbla"). ...

  3. 启动新内核出现:No filesystem could mount root, tried: ext3 ext2 cramfs vfa

    转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51841791 下载新编译的内核出现:No filesystem could mou ...

  4. Python-requests取消SSL验证的警告InsecureRequestWarning解决办法

    使用requests模块请求一个证书无效的网站的话会直接报错 可以设置verify参数为False解决这个问题 # -*- coding:utf-8 -*- __author__ = "Mu ...

  5. 将gridview 的数据导出EXCEL

    gridview数据 单击“导出EXCEL”按钮后        1.在上面的代码中,先将gridview绑定到指定的数据源中,然后在button按钮(用来做导出到EXCEL的)的事件中,写入相关的代 ...

  6. Storm在zookeeper上的目录结构

    storm操作zookeeper的主要函数都定义在命名空间backtype.storm.cluster中(即cluster.clj文件中). backtype.storm.cluster定义了两个重要 ...

  7. 31.TCP/IP 三次握手与四次挥手

    TCP/IP三次握手 TCP建立连接为什么是三次握手,而不是两次或四次? TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6. 顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手 ...

  8. 【linux安装软件步骤】

    一.解析linux应用软件安装包: 通常Linux应用软件的安装包有三种: tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. rpm包,如sof ...

  9. C#回调函数的简单讲解与应用例子

    using System; namespace CallBackTest{ class Program //用户层,执行输入等操作 { static void Main(string[] args) ...

  10. Note: Eleos: ExitLess OS Services for SGX Enclaves

    Eleos increased I/O and memory intensive SGX program execution performance with In-enclave system ca ...