.net框架 - Enum枚举
概要
在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
.net框架 - Enum枚举的更多相关文章
- C#将Enum枚举映射到文本字符串
介绍 当将以前的C代码移植到C#中时,我快发疯了,因为有很多的数组需要将常量映射到字符串.当我在寻找一个C#的方法来完成的时候,我发现了一个自定义属性和映射的方法. 如何使用代码? 对每一个enum枚 ...
- Swift Enum 枚举
前言 枚举是一种自定义的数据类型,在 Swift 中枚举类型拥有相当高的自由度.在 Swift 语言中枚举是一级类型,它拥有在其他语言中只有类才拥有的一些特性,比如实例方法,实例构造器等. 枚举声明的 ...
- c# (ENUM)枚举组合类型的谷歌序列化Protobuf
c# (ENUM)枚举组合类型的谷歌序列化Protobuf,必须在序列化/反序列化时加上下面: RuntimeTypeModel.Default[typeof(Alarm)].EnumPassthru ...
- MVC3不能正确识别JSON中的Enum枚举值
一.背景 在MVC3项目里,如果Action的参数中有Enum枚举作为对象属性的话,使用POST方法提交过来的JSON数据中的枚举值却无法正确被识别对应的枚举值. 二.Demo演示 为了说明问题,我使 ...
- 161208、Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...
- Python中模拟enum枚举类型的5种方法分享
这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下 以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...
- java之enum枚举(2015年05月28日)
背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定 ...
- 1.0 基础、标示符、常量、数据类型(enum 枚举,struct 结构体)、操作符、循环、数组
一.程序 现实生活中,程序是指完成某些事务的一种既定方法和过程,可以把程序看成是一系列动作执行过程的描述. 在计算机世界,程序是指令,即为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集 ...
- Enum枚举类|注解Annotation
Enum枚举类 ①枚举类和普通类的差别: 使用 enum 定义的枚举类默认继承了 java.lang.Enum 类 枚举类的构造器仅仅能使用 private 訪问控制符 枚举类的全部实例必须在枚举类中 ...
随机推荐
- saltstack配置文件详解
软件依赖 Python版本大于2.6或版本小于3.0: 对Python版本要求 msgpack-python: SalStack消息交换库 YAML: SaltStack配置解析定义语法 Jinja2 ...
- Response知识点小结
HTTP协议: 1. 响应消息:服务器端发送给客户端的数据 * 数据格式: 1. 响应行 1. 组成:协议/版本 响应状态码 状态码描述 2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状 ...
- CF28B pSort
题目描述 给定一个含有n个元素的数列,第i号元素开始时数值为i,元素i可以与距离为d[i]的元素进行交换.再给定一个1-n的全排列,问初始的数列可否交换成给定的样式. 输入:第一行一个整数n,第二行n ...
- Go语言 (指针)
区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针. 要搞明白Go语言中的指针需要先知道3个概念:指针地址.指针类型和指针取值. Go语言中的指针 Go语言中的函数传参都是值拷贝 ...
- jquery 根据后台传递过来的三维数组动态生成三级菜单
根据后台传递过来的三维数组动态生成三级菜单 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- java之struts2之数据检验
1.使用struts2时,有时候需要对数据进行相关的验证.如果对数据的要求比较严格,或对安全性要求比较高时,前端 js 验证还不够, 需要在后端再进行一次验证,保证数据的安全性. 2.struts2提 ...
- lxterminal命令打开新窗口并执行python脚本
lxterminal -e python3 -i test.py 注意,路径要写对,用绝对路径
- python图片二值化提高识别率
import cv2from PIL import Imagefrom pytesseract import pytesseractfrom PIL import ImageEnhanceimport ...
- python 提取目录中特定类型的文件
python使用‘os’和‘re’模块提取目录中特定类型的文件,这两个模都是安装python自带的,所以不需要安装. 思路: 使用os库lilstdir获取文件夹中的所有文件名,然后带上文件夹路径组合 ...
- 朴素贝叶斯算法源码分析及代码实战【python sklearn/spark ML】
一.简介 贝叶斯定理是关于随机事件A和事件B的条件概率的一个定理.通常在事件A发生的前提下事件B发生的概率,与在事件B发生的前提下事件A发生的概率是不一致的.然而,这两者之间有确定的关系,贝叶斯定理就 ...