-
C#基础_学习笔记--枚举
枚举
- 人为限定取值范围的整数
- 整数值的对应
- 比特位式用法
//默认从0开始:分别为0,1,2,3
enum Level{
Employee,
Manager,
Boss,
BigBoss,
}
class Person{
public int ID{get;set;}
public string Name {get;set;}
public Level Level{get;set;}
}
internal class Program{
public static void Main(string[] arg){
Person person = new Person();
person.Level = Level.Employee;
//结果为2
Console.WriteLine((int)Level.Boss);
}
}
未指定的枚举名的值将依着最后一个指定值向后依次递增(注意是最后一个指定值)
//枚举中定义的可以自定义整数值
enum Level{
Employee = 100,
Manager,
Boss,
BigBoss,
}
//结果为100,101,102,103
//枚举中定义的整数值可以部分缺省
enum Level{
Employee = 100,
Manager,
Boss = 102,
BigBoss,
}
//Manager自动为101,BigBoss自动为103
enum Level{
Employee=100,
Manager,
Boss=101,
BigBoss,
}
//结果为100,101,101,102,有两个101也是合法的
//但不能有两个Manager,即enum中的名称不能重复。
比特位式用法
enum Skill{
Drive = 1, //二进制 0001
Cook = 2, //二进制 0010
Program = 4, //二进制 0100
Teach = 8, //二进制 1000
}
Person person = new Person();
//如果有多种技能呢?可以用list,但list“太重”
//采用“按位或”,得到多种技能
person.Skill = Skill.Drive | Skill.Cook | Skill.Program | Skill.Teach //二进制 1111,十进制的15
//结果为15
Console.WriteLine(person.Skill);
Console.WriteLine((person.Skill & Skill.Cook)>0); //结果为True,(1111 & 0010 = 0010)
Console.WriteLine((person.Skill & Skill.Cook) == Skill.Cook); //结果为True
出处:https://www.cnblogs.com/DylanCecil/p/14858141.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数