概要

  在C#或C++,java等一些计算机编程语言中,枚举类型是一种基本数据类型而不是构造数据类型。

  在C语言等计算机编程语言中,它是一种构造数据类型。

  它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。

  

枚举成员  

  枚举成员是该枚举类型的命名常数,任意两个枚举成员不能具有相同的名称。

  每个枚举成员均具有相关联的常数值,此值的类型就是枚举的基础类型。

  C#中枚举基础类型可为:byte、sbyte、short、ushort、int、uint、long 或 ulong。

  C#中枚举基础类型默认为int。

  若不显示为枚举成员赋值,其成员值依成员顺序依次为0,1,2,3....n。

//基础类型默认为int
public enum MyEnum
{
中国 = , //枚举成员常数值类型为int
美国 = ,
日本 =
} //定义基础类型为long的枚举
public enum MyEnum2 : long
{
中国 = 1L, //枚举成员常数值类型为long
美国 = 2L,
日本 = 3L
}

枚举类型基本操作

  枚举类型转换、常用的方法,见示例代码:

public void EnumTest()
{
MyEnum myEnum = MyEnum.中国;
int myEnumValue = (int)myEnum; //myEnumValue = 1;
string myEnumText = myEnum.ToString(); //myEnumText="中国" MyEnum myEnum2 = (MyEnum)Enum.Parse(typeof(MyEnum), ""); //myEnum2 = MyEnum.美国
MyEnum myEnum3 = (MyEnum)Enum.Parse(typeof(MyEnum), "日本"); //myEnum2 = MyEnum.日本 if(Enum.IsDefined(typeof(MyEnum),"日本"))
{
//MyEnum有成员名为“日本”的成员
} if (Enum.IsDefined(typeof(MyEnum), ""))
{
//MyEnum有成员值为“2”的成员
}
} public enum MyEnum
{
中国 = ,
美国 = ,
日本 =
}

参考

  http://www.360doc.com/content/14/0516/16/10966281_378264063.shtml

  http://baike.baidu.com/link?url=gKDBE4hHGZFMgou2OWJu8rM27E7zGzi_Wq1xORoQmho73kudlBKt6WmUSt6_vETfdxz8QaLcbCJ9tTTohkgs4y0bD7iS_99LG90GFWbEetPJ4snCMsFD60rqWEQgt3O7

.net框架 - Enum枚举的更多相关文章

  1. C#将Enum枚举映射到文本字符串

    介绍 当将以前的C代码移植到C#中时,我快发疯了,因为有很多的数组需要将常量映射到字符串.当我在寻找一个C#的方法来完成的时候,我发现了一个自定义属性和映射的方法. 如何使用代码? 对每一个enum枚 ...

  2. Swift Enum 枚举

    前言 枚举是一种自定义的数据类型,在 Swift 中枚举类型拥有相当高的自由度.在 Swift 语言中枚举是一级类型,它拥有在其他语言中只有类才拥有的一些特性,比如实例方法,实例构造器等. 枚举声明的 ...

  3. c# (ENUM)枚举组合类型的谷歌序列化Protobuf

    c# (ENUM)枚举组合类型的谷歌序列化Protobuf,必须在序列化/反序列化时加上下面: RuntimeTypeModel.Default[typeof(Alarm)].EnumPassthru ...

  4. MVC3不能正确识别JSON中的Enum枚举值

    一.背景 在MVC3项目里,如果Action的参数中有Enum枚举作为对象属性的话,使用POST方法提交过来的JSON数据中的枚举值却无法正确被识别对应的枚举值. 二.Demo演示 为了说明问题,我使 ...

  5. 161208、Java enum 枚举还可以这么用

    在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...

  6. Python中模拟enum枚举类型的5种方法分享

    这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下   以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...

  7. java之enum枚举(2015年05月28日)

    背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定 ...

  8. 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组

    一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...

  9. Enum枚举类|注解Annotation

    Enum枚举类 ①枚举类和普通类的差别: 使用 enum 定义的枚举类默认继承了 java.lang.Enum 类 枚举类的构造器仅仅能使用 private 訪问控制符 枚举类的全部实例必须在枚举类中 ...

随机推荐

  1. 问题二:appium 搞定权限弹框的一个小办法

    public void permission() { for (int i=0; i <= 10; i++) { if (getPageSource().contains("允许&qu ...

  2. php_mvc实现步骤五

    5.match_controller 控制器层典型实现 控制器类 依据功能的相关性,将一系列相关的功能,使用一个控制器类来处理,而该控制器的每个方法,就对因某个功能. 注意:控制器是按照功能划分的.( ...

  3. 下载 m3u8 直播流的方法

    下载 FFmpeg http://ffmpeg.org/download.html 查找直播流地址 找到目标视频对应的 m3u8 播放列表. 执行脚本 ffmpeg -i https://nhkmov ...

  4. 1.RabbitMQ工作模型与基本原理

        1.了解 MQ 的本质和 RabbitMQ 的特性: 2.掌握 RabbitMQ 的 Java API 编程和 Spring 集成 RabbitMQ 1. MQ 了解 1.1. 消息队列简介 ...

  5. flask报错 KeyError: <flask.cli.ScriptInfo object at 0x000001638AC164E0>

    (flask_venv) D:\DjangoProject\flask_test>flask db init Traceback (most recent call last): File &q ...

  6. 协议——SCCB与IIC的区别

    SCCB(Serial Camera Control Bus,串行摄像头控制总线)是由OV(OmniVision的简称)公司定义和发展的三线式串行总线,该总线控制着摄像头大部分的功能,包括图像数据格式 ...

  7. JVM运行时内存结构学习

    学习JVM运行模型比较重要,先看一幅图片: 运行时数据区(内存结构) :  1.方法区(Method Area)类的所有字段和方法字节码,以及一些特殊方法如构造函数,接口代码也在这里定义.简单来说,所 ...

  8. 如何为非常不确定的行为(如并发)设计安全的 API,使用这些 API 时如何确保安全

    原文:如何为非常不确定的行为(如并发)设计安全的 API,使用这些 API 时如何确保安全 .NET 中提供了一些线程安全的类型,如 ConcurrentDictionary<TKey, TVa ...

  9. Celery定时任务细讲

    Celery定时任务细讲 一.目录结构 任务所在目录 ├── celery_task # celery包 如果celery_task只是建了普通文件夹__init__可以没有,如果是包一定要有 │ ├ ...

  10. Flask中jinja2的应用

    Flask中jinja2的应用 # -*- coding: utf-8 -*- # @Time : 2019/9/24 17:29 # @Author : AnWen from flask impor ...