按位与(&)和按位或(|)的使用
2009-08-18 23:32 Vincent.Feng 阅读(2203) 评论(0) 编辑 收藏 举报/ * ---------------------------------------------------------------------
目的:练习按位(&)与和按位或(|)
例子大意:一周内的每天都有相应的安排,当输入相应的日期,输出安排的事宜。
例如:周一做“周一的工作”;周二做“周二的工作”;... ...
如果同时输入周一和周二,则应输出“周一的工作”、“周二的工作”
--------------------------------------------------------------------- * /
1enum WeekDay
2{
3 None = 0x0,
4 Sunday = 0x1,
5 Monday = 0x2,
6 Tuesday = 0x4,
7 Wednesday = 0x8,
8 Thursday = 0x10,
9 Friday = 0x20,
10 Saturday = 0x40
11}
12
13class Program
14{
15 static void Main(string[] args)
16 {
17 showWeekDayWork(WeekDay.Monday | WeekDay.Saturday);
18 Console.Read();
19 }
20
21 static void showWeekDayWork(WeekDay weekDay)
22 {
23 if ((weekDay & WeekDay.Sunday) == WeekDay.Sunday)
24 {
25 Console.WriteLine("周日的工作");
26 }
27 if ((weekDay & WeekDay.Monday) == WeekDay.Monday)
28 {
29 Console.WriteLine("周一的工作");
30 }
31 if ((weekDay & WeekDay.Tuesday) == WeekDay.Tuesday)
32 {
33 Console.WriteLine("周二的工作");
34 }
35 if ((weekDay & WeekDay.Wednesday) == WeekDay.Wednesday)
36 {
37 Console.WriteLine("周三的工作");
38 }
39 if ((weekDay & WeekDay.Thursday) == WeekDay.Thursday)
40 {
41 Console.WriteLine("周四的工作");
42 }
43 if ((weekDay & WeekDay.Friday) == WeekDay.Friday)
44 {
45 Console.WriteLine("周五的工作");
46 }
47 if ((weekDay & WeekDay.Saturday) == WeekDay.Saturday)
48 {
49 Console.WriteLine("周六的工作");
50 }
51 }
52}
53
2{
3 None = 0x0,
4 Sunday = 0x1,
5 Monday = 0x2,
6 Tuesday = 0x4,
7 Wednesday = 0x8,
8 Thursday = 0x10,
9 Friday = 0x20,
10 Saturday = 0x40
11}
12
13class Program
14{
15 static void Main(string[] args)
16 {
17 showWeekDayWork(WeekDay.Monday | WeekDay.Saturday);
18 Console.Read();
19 }
20
21 static void showWeekDayWork(WeekDay weekDay)
22 {
23 if ((weekDay & WeekDay.Sunday) == WeekDay.Sunday)
24 {
25 Console.WriteLine("周日的工作");
26 }
27 if ((weekDay & WeekDay.Monday) == WeekDay.Monday)
28 {
29 Console.WriteLine("周一的工作");
30 }
31 if ((weekDay & WeekDay.Tuesday) == WeekDay.Tuesday)
32 {
33 Console.WriteLine("周二的工作");
34 }
35 if ((weekDay & WeekDay.Wednesday) == WeekDay.Wednesday)
36 {
37 Console.WriteLine("周三的工作");
38 }
39 if ((weekDay & WeekDay.Thursday) == WeekDay.Thursday)
40 {
41 Console.WriteLine("周四的工作");
42 }
43 if ((weekDay & WeekDay.Friday) == WeekDay.Friday)
44 {
45 Console.WriteLine("周五的工作");
46 }
47 if ((weekDay & WeekDay.Saturday) == WeekDay.Saturday)
48 {
49 Console.WriteLine("周六的工作");
50 }
51 }
52}
53
这样的方式可以用到权限里去.而且可以做到具体的方法权限操作判断上.不过如果权限很多就要是在数据库里存nvarchar(max)格式了.
2的N次方嘛,嘿嘿.
作者:Vincent.Feng
出处:http://www.cnblogs.com/vincentfeng
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/vincentfeng
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。