按位与(&)和按位或(|)的使用
2009-08-18 23:32 Vincent.Feng 阅读(2219) 评论(0) 收藏 举报/ * ---------------------------------------------------------------------
目的:练习按位(&)与和按位或(|)
例子大意:一周内的每天都有相应的安排,当输入相应的日期,输出安排的事宜。
例如:周一做“周一的工作”;周二做“周二的工作”;... ...
如果同时输入周一和周二,则应输出“周一的工作”、“周二的工作”
--------------------------------------------------------------------- * /
1
enum 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
13
class 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
enum WeekDay2
{3
None = 0x0,4
Sunday = 0x1,5
Monday = 0x2,6
Tuesday = 0x4,7
Wednesday = 0x8,8
Thursday = 0x10,9
Friday = 0x20,10
Saturday = 0x4011
}12

13
class Program14
{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
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


浙公网安备 33010602011771号