C# 枚举类型 enum (一)
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 (一)的更多相关文章
- 【转】java枚举类型enum的使用
原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...
- C# 中的枚举类型 enum (属于值类型)
原文 C# 中的枚举类型 enum (属于值类型) C# 支持两种特殊的值类型:枚举和结构. 声明枚举:声明时要声明所有可能的值. using System; using System.Collect ...
- 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)
java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...
- 枚举类型enum详解——C语言
enum enum是C语言中的一个关键字,enum叫枚举数据类型,枚举数据类型描述的是一组整型值的集合(这句话其实不太妥当),枚举型是预处理指令#define的替代,枚举和宏其实非常类似,宏在预处理阶 ...
- 深入理解Java枚举类型(enum)
https://blog.csdn.net/javazejian/article/details/71333103 深入理解Java类型信息(Class对象)与反射机制 深入理解Java枚举类型(en ...
- 人生苦短之Python枚举类型enum
枚举类型enum是比较重要的一个数据类型,它是一种数据类型而不是数据结构,我们通常将一组常用的常数声明成枚举类型方便后续的使用.当一个变量有几种可能的取值的时候,我们将它定义为枚举类型.在Python ...
- 全面解读Java中的枚举类型enum的使用
这篇文章主要介绍了Java中的枚举类型enum的使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下 关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始sw ...
- Java基础之枚举类型Enum的使用
Java基础之枚举类型Enum的使用 定义 public enum AccruedCleanEnum { SPREAD("1","发票"),OTHER(&quo ...
- 《挑战30天C++入门极限》新手入门:C/C++中枚举类型(enum)
新手入门:C/C++中枚举类型(enum) 如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型.之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来. ...
- Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件
在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...
随机推荐
- spring IOC 注解@Resource
1.@Resource(重要)a)加入 :j2ee/common-annotations.jar b)默认按名称,名称找不到,按类型 默认按照名称setName1到xml中找和id相同的,没有的话再找 ...
- SQL语法基础:DDL、DML
一.DDL(Data Definition Language):数据定义语句 #常见的语句 1)CREATE TABLE/DATABASE:创建数据库 CREATE [TEMPORARY] TABLE ...
- linux 时间处理 + 简单写log
1s ==1000ms == 1,000,000us == 1,000,000,000 nanosecond uname -a Linux scott-Z170X 4.15.0-34-generic ...
- UML核心元素--分析类
分析类共有三个:边界类(boundary).控制类(control)和实体类(entity),这些分析类都是类的版型.分析类是跨越需求到设计实现的桥梁. 边界类:从需求向现实的转换过程中,任何两个有交 ...
- hibernate 数据关联一对多
一对多,多对一 (在多的一端存放一的外键) 但是在实体类中不需要创建这个外键 // 在一的一方创建Set集合 public class User { private Integer id; priva ...
- vue.js 使用高德地图
1.获取key值 注册成为高德开发者需要分三步: 第一步,注册高德开发者: 第二步,去控制台创建应用: 第三步,获取Key 2.修改配置文件 webpack.base.conf.js externa ...
- SDK和JDK的区别
刚开始工作时,还以为两者是一样的,只是版本换新给了个新名字罢了.最近又关注到这个问题,才发现自己大错特错,故整理了下分享给大家,共勉! jdk,是Java开发工具包,主要用于编写Java程序:也就是说 ...
- C#中索引器Indexer的学习使用
索引器 顾名思义,是用来索引的,那么C#中索引器是用来索引什么的呢 首先我们知道,C#中的数组是本身就可以索引的,那么C#中的类和结构呢,类和结构的实例是无法索引的,如果我们想让C#中类或者结构的实例 ...
- jquery提供的数据提交方式1
1,ajax提交,部分代码为easyui function editNode(id){ $.ajax({ dataType:'json', async:true, //默认的就是异步提交 type:' ...
- 【TMF eTOM】eTOM的概念和术语
eTOM的概念 为了有效地理解和使用eTOM业务流程框架,我们首先要理解构成eTOM的关键概念.这些概念使eTOM成为集成业务流程设计/评估与传统过程的一个非常有效的工具.在这些概念中使用了在本文中详 ...