zoukankan      html  css  js  c++  java
  • C#中通过位运算实现多个状态的判断

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace StateMachine
    {
        class Program
        {
            static void Main(string[] args)
            {
                //输出十进制 - 二进制的值
                Console.WriteLine(State.A + " - " + Program.TwoNum(Convert.ToString(State.A, 2)));
                Console.WriteLine(State.B + " - " + Program.TwoNum(Convert.ToString(State.B, 2)));
                Console.WriteLine(State.C + " - " + Program.TwoNum(Convert.ToString(State.C, 2)));
    
                //创建一个变量,添加三个状态
                short mark = 0;
                mark |= State.A;
                mark |= State.B;
                mark |= State.C;
    
                Console.WriteLine("
    ");
                Console.WriteLine("mark的值: " + mark + " - " + Program.TwoNum(Convert.ToString(mark, 2)));
                Console.WriteLine("
    状态显示");
                
                //判断一个值里面一共有几个状态
                if ((mark & State.A) > 0)
                    Console.WriteLine("拥有A的状态");
                if ((mark & State.B) > 0)
                    Console.WriteLine("拥有B的状态");
                if ((mark & State.C) > 0)
                    Console.WriteLine("拥有C的状态");
                if ((mark & State.D) > 0)
                    Console.WriteLine("拥有D的状态");
                
                Console.ReadLine();
            }
    
            //默认在后面补上7个0
            public static string TwoNum(string s)
            {
                string temp = "";
                for (int i = s.Length; i < 8; i++)
                {
                    temp += "0";
                }
    
                s = s.Insert(0, temp);
                return s;
            }
        }
    
        /// <summary>
        /// 状态
        /// </summary>
        public class State
        {
            public static short A = 1 << 0;
            public static short B = 1 << 1;
            public static short C = 1 << 2;
            public static short D = 1 << 3;
            public static short E = 1 << 4;
        }
    
    }

    image

  • 相关阅读:
    几何画板绘制三棱锥的教程
    MathType给公式底部加箭头的教程
    几何画板有哪些快捷键可以用
    公式编辑器调整公式边框粗细的教程
    wdcp安装
    搭建git for windows服务器(100%可以成功)
    百度echarts
    简单的js菜单
    真正的让iframe自适应高度 兼容多种浏览器随着窗口大小改变
    Hadoop学习笔记(一)从官网下载安装包
  • 原文地址:https://www.cnblogs.com/plateFace/p/5018480.html
Copyright © 2011-2022 走看看