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

  • 相关阅读:
    Ionic4.x 中的button
    Ionic4.x 内置颜色
    Ionic4.x 中自定义公共模块
    Ionic4.x 新增底部 tabs 页面
    Ionic4.x 创建页面以及页面跳转
    Ionic4.x 项目结构简单分析
    判断Activty是否在前台运行
    Ionic 的安装运行
    Angular 自定义模块以及配置路由实现模块懒加载
    Angular 自定义模块
  • 原文地址:https://www.cnblogs.com/plateFace/p/5018480.html
Copyright © 2011-2022 走看看