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. poj 2000 Gold Coins(水题)

    一.Description The king pays his loyal knight in gold coins. On the first day of his service, the kni ...

  2. nginx中给目录增加密码保护实现程序

    一款nginx中给目录增加密码保护实现程序,可以有效的保护一些目录不被访问,有需要的朋友可参考一下. 了防止一些可能出现存在漏洞的后台脚本暴露,使用验证的方式保护这些文件所在的目录 使用apache的 ...

  3. uboot和内核分区的修改

    随着内核的更新,内核越来越大,uboot给nand的kernel分区默认是2M的 device nand0 <nandflash0>, # parts = 4  #: name       ...

  4. JS开发中的一些小技巧和方法

    生成指定范围内的随机数 当我们需要获取指定范围(min,max)内的整数的时候,下面的代码非常适合:这段代码用的还挺多的. function setRadomNum(min,max){ return ...

  5. winform 客户端采用HTTP协议与服务端通信

    本来从来没有仔细研究过Http协议,今天因为公司业务需求,调试了半天,终于现在会Winform用Http协议与服务端通信了,其中常用的有POST和Get方式: 仔细看了人人网和新浪等大部分都是采用GE ...

  6. javaIO 流分析总结

    Java中的流,可以从不同的角度进行分类. 按照数据流的方向不同可以分为:输入流和输出流. 按照处理数据单位不同可以分为:字节流和字符流. 按照实现功能不同可以分为:节点流和处理流. 输出流: 输入流 ...

  7. 详解 javascript中offsetleft属性的用法(转)

    详解 javascript中offsetleft属性的用法 转载  2015-11-11   投稿:mrr    我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...

  8. R: 缺失值 & 查看变量类型

    ################################################### 问题:缺失值   18.5.2 有关处理缺失值的各种方法有什么?各自的适用场景. 解决方案: n ...

  9. 为什么源码中很多方法就一行throw new RuntimeException("Stub!")

    在使用某些类的方法时,发现其内部就一行throw new RuntimeException("Stub!"),但是实际运行中并没有抛出该错误,该方法也并没有语法报错. 因此可能是系 ...

  10. 2018ICPC徐州区域赛网络赛G(VECTOR+SET,模拟)

    #include<bits/stdc++.h>using namespace std;int x,y;vector<int>v1,v2;long long solve(vect ...