C#:枚举
1. 枚举的综合运用
public enum Color { yellow, blue, green }
class Program
{
static void Main(string[] args)
{
// 1. 正常使用枚举元素
Console.WriteLine(Color.yellow); // 输出: yellow
// 2. 通过定义变量使用枚举元素
Color c1 = Color.blue;
Console.WriteLine(c1); // 输出: blue
// 3. 枚举的元素实际上是“Int”,而且依次编号(增量为1)
Console.WriteLine(Convert.ToInt32(Color.green)); // 输出2
// 4. Enum.Parse()方法,根据“字符串”获取对应的枚举元素
Color c2 = (Color)Enum.Parse(typeof(Color), "yellow", true);
if (c2 == Color.yellow)
{
Console.WriteLine("Yes"); // 输出: Yes
}
// 5. 根据“下标”获取对应的字符串
string c3 = Enum.GetName(typeof(Color), 1);
Console.WriteLine(c3); // 输出: blue
// 6. 依次输出枚举元素(下标)
foreach(int i in Enum.GetValues(typeof(Color)))
{
Console.WriteLine(i.ToString()); // 依次输出: 1, 2, 3
Console.WriteLine(Enum.GetName(typeof(Color), i)); // 根据“下标”获取对应字符串,依次输出: yellow, blue, green
}
// 7.依次输出枚举值对应的字符串
foreach (string c in Enum.GetNames(typeof(Color)))
{
Console.WriteLine(c); // 依次输出: yellow, blue, green
}
}
}
2. 枚举的值
- 枚举元素不是变量,而是常数。因为是常量,所以不能对枚举元素进行赋值。
- 枚举元素作为常量,它们是有值的,值依次递增,增量为1。
public enum Color { yellow, blue, green }
等同于:
public enum Color { yellow = 0, blue = 1, green = 2 }
public enum Color { yellow, blue = 100, green }
等同于:
public enum Color { yellow, blue = 100, green = 101 }
3. Enum.Parse(enumType, value, ignoreCase)
根据给定“字符串”获取枚举的值,返回object(使用时需要强类型转换)。
// enumType: 枚举的 Type
// value: 包含要转换的值或名称的字符串
// ignoreCase: 如果为 true,则忽略大小写;否则考虑大小写
// 返回值: enumType 类型的对象,其值由 value 表示
public static Object Parse (
Type enumType,
string value,
bool ignoreCase
)
C#:枚举的更多相关文章
- Swift enum(枚举)使用范例
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...
- 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)
建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...
- Objective-C枚举的几种定义方式与使用
假设我们需要表示网络连接状态,可以用下列枚举表示: enum CSConnectionState { CSConnectionStateDisconnected, CSConnectionStateC ...
- Help Hanzo (素数筛+区间枚举)
Help Hanzo 题意:求a~b间素数个数(1 ≤ a ≤ b < 231, b - a ≤ 100000). (全题在文末) 题解: a~b枚举必定TLE,普通打表MLE,真是头疼 ...
- 枚举:enum
枚举 所谓枚举就是指定好取值范围,所有内容只能从指定范围取得. 例如,想定义一个color类,他只能有RED,GREEN,BLUE三种植. 使用简单类完成颜色固定取值问题. 1,就是说,一个类只能完成 ...
- .NET 基础一步步一幕幕[方法、结构、枚举]
方法.结构.枚举 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值,写void 方法名:P ...
- Asp.Net 将枚举类型(enum)绑定到ListControl(DropDownList)控件
在开发过程中一些状态的表示使用到枚举类型,那么如何将枚举类型直接绑定到ListControl(DropDownList)是本次的主题,废话不多说了,直接代码: 首先看工具类代码: /// <su ...
- 用枚举enum替代int常量
枚举的好处: 1. 类型安全性 2.使用方便性 public class EnumDemo { enum Color{ RED(3),BLUE(5),BLACK(8),YELLOW(13),GREEN ...
- c#编程基础之枚举
枚举的意义就在于限制变量取值范围. 当可以确定的几种取值时才可以用. 如果输入一个字符串需要进行判断是否是我们需要的字符串时,则一般需要这样写: using System; using System. ...
- golang枚举类型 - iota用法拾遗
在c#.java等高级语言中,经常会用到枚举类型来表示状态等.在golang中并没有枚举类型,如何实现枚举呢?首先从枚举的概念入手. 1.枚举类型定义 从百度百科查询解释如下:http://baike ...
随机推荐
- 跟我学PHP-第一篇:如何安装Zend Studio 以及汉化和基本准备工作
昨天从早上一直弄到晚上10点,可累死我了,网上的资料都是掺次不齐,所以我写一篇系统点的文章来告诉大家怎么做. 1.如果你想进行一套PHP系统的开发,肯定是要有“尚方宝剑”的,这个尚方宝剑就是PHP工具 ...
- 仿优酷Android客户端图片左右滑动(自动滑动)
最终效果: 页面布局main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayou ...
- Azure ARM (14) 设置ARM VM的Availability Set
<Windows Azure Platform 系列文章目录> 参考资料:https://gallery.technet.microsoft.com/Set-Azure-Resource- ...
- 让你分分钟学会Javascript中的闭包
Javascript中的闭包 前面的话: 闭包,是 javascript 中重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它 ...
- JS设置CSS样式的几种方式
用JS来动态设置CSS样式,常见的有以下几种 1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保 ...
- asp.net 301重定向代码
/// <summary> ///重定向代码 /// </summary> /// <param name="sender"></para ...
- PHP+MYSQL网站SQL Injection攻防
程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报 ...
- CSS之深入探究Position
这些天重新整理以前的代码,想对其进行优化,却出现了很多问题,其中一个就是Position,中间自己停下优化代码的工作,特意停下来深入研究了一下Position.现在来分享一下自己的体会吧! 首先我们从 ...
- navicat怎么导出和导入数据表
1.选中要导出的数据表,右击,然后点击"导出向导". 2.点击sql脚本文件(*sql)->点击下一步. 3.点击保存位置->下一步->保存 ********** ...
- 在Intellij IDEA 下通过Maven新建项目的一些体会
因为习惯的原因,一直在用jetbrain的IDE,最近的在开发javaEE项目,并尝试用maven来管理依赖,那这中间又出了什么让我不得不写下来的呢 一.先来看看在IDEA下怎么用maven建项目 1 ...