首页 > 编程语言 >C# 中枚举的使用

C# 中枚举的使用

时间:2022-12-02 17:25:44浏览次数:71  
标签:0000 Monday C# Tuesday Days 0b meetingDays 枚举 使用

枚举定义

枚举对应的值也可以直接写成10进制

[Flags]
public enum Days
{
    None      = 0b_0000_0000,  // 0
    Monday    = 0b_0000_0001,  // 1
    Tuesday   = 0b_0000_0010,  // 2
    Wednesday = 0b_0000_0100,  // 4
    Thursday  = 0b_0000_1000,  // 8
    Friday    = 0b_0001_0000,  // 16
    Saturday  = 0b_0010_0000,  // 32
    Sunday    = 0b_0100_0000,  // 64
    Weekend   = Saturday | Sunday
}

使用方式

  1. 赋值
    Days meetingDays = Days.Monday | Days.Wednesday | Days.Friday;
  2. 取值
    if ((meetingDays & Days.Monday)==Days.Monday) { Console.Write("is " +Days.Monday.ToString()); }

完整代码演示

public enum Days
{
    None      = 0b_0000_0000,  // 0
    Monday    = 0b_0000_0001,  // 1
    Tuesday   = 0b_0000_0010,  // 2
    Wednesday = 0b_0000_0100,  // 4
    Thursday  = 0b_0000_1000,  // 8
    Friday    = 0b_0001_0000,  // 16
    Saturday  = 0b_0010_0000,  // 32
    Sunday    = 0b_0100_0000,  // 64
    Weekend   = Saturday | Sunday
}

public class FlagsEnumExample
{
	public static void Main()
	{
		Days meetingDays = Days.Monday | Days.Wednesday | Days.Friday;
		Console.WriteLine(meetingDays);
		if ((meetingDays & Days.Monday)==Days.Monday)
		{
			Console.Write("is " +Days.Monday.ToString());//输出:true
		}
		if ((meetingDays & Days.Tuesday) == Days.Tuesday)
		{
			Console.Write("is " +Days.Tuesday.ToString());//不会进此分支
		}
	}
}

参考资料

枚举类型 C#

标签:0000,Monday,C#,Tuesday,Days,0b,meetingDays,枚举,使用
From: https://www.cnblogs.com/bindot/p/enum_example.html

相关文章

  • 一个由tf1.6.0引发的故事|从CUDA到gcc配置,非root用户重装旧版本TF环境
    之前尝试复现学姐前几年的一个工作,但是因为框架有点古老而作罢。然鹅,自己的实验结果一直跑得十分奇怪,为了去学姐的代码中寻找参考,今天再次进行了尝试。我的需求是安装T......
  • Deepin系统安装eclipse、subversion插件、IDEA安装
    eclipse、IDEA安装直接deepin商店直接安装的1.eclipsesubversion插件安装eclipsesubversion插件CSDN都要收费,找了很久才找到不收费的。感谢~下载下载后解压打开......
  • ReentrantLock的简单使用
    相对于synchronized,RenentrantLock有这么几个特点可以被中断,可以设置超时时间,支持多个条件变量,可以设置成公平锁。同时RenentrantLock和synchronized都是可重入的一......
  • PS新手教程-如何使用PS制作一幅水晶球里的梦幻世界图片
    如何使用PS制作一幅水晶球里的梦幻世界图片?给大家介绍如何使用PS制作一幅水晶球里的梦幻世界图片,一起来看看吧。1.打开ps,打开水晶球素材图片编辑​2.执行选择-主体......
  • Deepin系统安装docker
    docker安装Deepin软件仓库有Docker,可以通过一键脚本安装1.安装dockersudoapt-getupdatesudoapt-getinstalldocker-cedocker-v2.授权普通用户运行dockersudo......
  • Python中mro继承顺序查询之C3算法
    1.mro遍历顺序1. python中存在多继承:A同时继承B和C,B继承E,C继承F,E和F最终继承object,如果我们访问A的实例对象的属性,他的查找方法遵循C3算法,(之前是深度优先查询,一条路......
  • jdk-Collection接口
    Collection实现AbstractCollectionListSetQueue接口概述集合框架的根接口部分集合允许重复元素,部分集合有序JDK不提供此接口直接实现,实现类通过实现Collection......
  • Linux运维获取内存、cpu、磁盘IO信息
    一、脚本今天主要分享一个shell脚本,用来获取linux系统CPU、内存、磁盘IO等信息。#!/bin/bash#获取要监控的本地服务器IP地址IP=`ifconfig|grepinet|grep-vE'in......
  • python之gRPC初试
    目录前言准备安装示例编写proto文件通过proto文件生成_pb2.py和_pb2_grpc.py文件编写server文件编写client文件运行结语前言本文章作为初学gRPC的一个记录,主要参考文档:Qu......
  • 使用audio标签播放pcm音频流
    1  首先我们要获取到pcm流 如果已经获取了 就可以直接对其进行操作我们这边是没有获取的 使用fetch方法远程请求资源,代码如下fetch(url,{responseType:'ar......