博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“位运算”在实际项目中的应用,保证你能学到东西!
阅读量:5732 次
发布时间:2019-06-18

本文共 2117 字,大约阅读时间需要 7 分钟。

如果你还是不太懂位运算,请看我的文章:

下面是我在这次项目中学习到的,我眼中的位运算的应用!主要是实现 通知的3个操作:

 1.  置顶

 2.  设为首页

 3.  同时为 “置顶”+ “设为首页”

效果如图:

我们要想简便的进行位运算,我们可以直接进行如下枚举定义,以2的次方定义,应为他们的值很特殊:

数      二进制值

1   1

2     10
4       100
8     1000
16     10000
32     100000
64     1000000
128   10000000

///     /// 通知类型    ///     public enum NoticeType    {        ///         /// 普通        ///         [Description("普通")]        Normal = 1,        ///         /// 置顶        ///         [Description("置顶")]        Top = 2,        ///         /// 设置首页        ///         [Description("设置首页")]        Home = 4,    }

我们就可以很方便的接受参数来进行位运算的操作,代码如下:

///         /// 置顶及设置为首页        ///         ///         /// 
[Role] public ActionResult Workshop_NoticeSet(int id, int typeFlag) { bool res = false; Workshop_Notice entity = workshopManager.GetWorkshop_Notice(i => i.WorkshopNoticeID == id); if (entity != null) { switch ((NoticeType)typeFlag) { case NoticeType.Home: if ((entity.TypeFlag & (int)NoticeType.Home) > 0) entity.TypeFlag = entity.TypeFlag ^ (int)NoticeType.Home; //取消置顶 else entity.TypeFlag = entity.TypeFlag | (int)NoticeType.Home; //置顶 break; case NoticeType.Top: if ((entity.TypeFlag & (int)NoticeType.Top) > 0) entity.TypeFlag = entity.TypeFlag ^ (int)NoticeType.Top; //取消设为首页 else entity.TypeFlag = entity.TypeFlag | (int)NoticeType.Top; //设为首页 break; } if (workshopManager.EditWorkshop_Notice(i => new Workshop_Notice { TypeFlag = entity.TypeFlag, WorkshopNoticeID = entity.WorkshopNoticeID, }).IsComplete) res = true; } return Content(res.ToString()); }

 您的支持是我最大的动力,如果你觉得还可以,请您给个”推荐“!

转载于:https://www.cnblogs.com/Kummy/archive/2013/02/28/2936795.html

你可能感兴趣的文章
BZOJ 1923: [Sdoi2010]外星千足虫 [高斯消元XOR]
查看>>
C语言学习笔记
查看>>
PHP 命令行模式实战之cli+mysql 模拟队列批量发送邮件(在Linux环境下PHP 异步执行脚本发送事件通知消息实际案例)...
查看>>
PS 如何使用液化工具给人物减肥
查看>>
cvc-complex-type.2.4.c: The matching wildcard...
查看>>
android 读取json数据(遍历JSONObject和JSONArray)
查看>>
pyjamas build AJAX apps in Python (like Google did for Java)
查看>>
<JavaScript语言精粹>-读书笔记(一)
查看>>
NPM教程
查看>>
Java学习笔记(40)——Java集合12之fail-fast
查看>>
Centos 配置IP的方式
查看>>
Go 的吉祥物,萌不萌
查看>>
【iOS】AFN网络请求通过获取cookies保持会话
查看>>
Java 的swing.GroupLayout布局管理器的使用方法和实例
查看>>
Android中Activity和Fragment的生命周期的对比
查看>>
C++Primer_笔记_异常处理
查看>>
分区交换 alter table exchange partition 在线表 历史表交换
查看>>
思科三层交换 HSRP 热备 配置方法
查看>>
zabbix详解:(二)添加被监控机器
查看>>
设计模式单列
查看>>