当前位置:网站首页>C enumerates the differences between permissions |, and |

C enumerates the differences between permissions |, and |

2020-11-07 16:49:03 attachment

using System;

namespace EnumFlags
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            Permissions per = Permissions.Insert | Permissions.Update| Permissions.Insert;

            Console.WriteLine(per.ToString());

            Permissions allP = (Permissions)Enum.Parse(typeof(Permissions),"3");
            Console.WriteLine(allP);


            Permissions pers =  Permissions.Update;
            if ((pers & Permissions.Insert) == Permissions.Insert)
            {
                Console.WriteLine("hava");                
            }
            if (pers.HasFlag(Permissions.Insert))
            {
                Console.WriteLine("hava");
            }


            Console.WriteLine(1 | 2);  // 01 | 10 => 11 (3)
            Console.WriteLine(2 | 4);  // 010 | 100 => 110 (6) 
            Console.WriteLine(2 | 2);  
            Console.WriteLine(1 & 2);  // 01 & 10 => 00 (0)
            Console.WriteLine(2 & 4);  // 010 & 100 => 000 (0)
            Console.WriteLine(2 & 2);  
            Console.WriteLine(1 ^ 2);  // 01 ^ 10 => 11 (3)
            Console.WriteLine(2 ^ 4);  // 010 ^ 100 => 110 (6)
            Console.WriteLine(2 ^ 2);  

            Console.WriteLine(condition1() | condition2() | condition3() | condition4());
            Console.WriteLine("|");
            
            Console.WriteLine(condition1() || condition2() || condition3() || condition4());
            Console.WriteLine("||");
            
            Console.WriteLine(condition1() & condition2() & condition3() & condition4());
            Console.WriteLine("&");
            
            Console.WriteLine(condition1() && condition2() && condition3() && condition4());
            Console.WriteLine("&&");

        }
        static bool condition1()
        {
            Console.WriteLine("condition1()...");
            return true;  // perhaps false
        }
        static bool condition2()
        {
            Console.WriteLine("condition2()...");
            return false;  // perhaps true
        }
        static bool condition3()
        {
            Console.WriteLine("condition3()...");
            return true;  // perhaps false
        }
        static bool condition4()
        {
            Console.WriteLine("condition4()...");
            return false;  // perhaps true
        }
        [Flags]
        public enum Permissions
        {
            Insert = 1,
            Delete = 2,
            Update = 4,
            Query = 8
        }
    }
}
 

https://www.cnblogs.com/itsone/p/10310644.html

https://www.cnblogs.com/steden/p/4605768.html

https://zhuanlan.zhihu.com/p/94590467

 

版权声明
本文为[attachment]所创,转载请带上原文链接,感谢