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

本文共 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

你可能感兴趣的文章
Gradle 多渠道打包的使用和错误分析(转)
查看>>
64位调试器花费的时间比预期的要长(A 64-bit debugging operation is taking longer than expected)...
查看>>
压力测试衡量CPU的三个指标:CPU Utilization、Load Average和Context Switch Rate
查看>>
ECShop模板原理
查看>>
STL学习系列六:List容器
查看>>
LFS 中文版手册发布:如何打造自己的 Linux 发行版
查看>>
spring 第一篇(1-1):让java开发变得更简单(下)转
查看>>
Java定位CPU使用高问题--转载
查看>>
ADO.NET与Oracle(一):获取多行记录集
查看>>
C/C++程序员必须熟练应用的开源项目
查看>>
python 时间及日期函数
查看>>
SMTP 简单邮件传输协议
查看>>
Python实现二叉树的存储和遍历
查看>>
国外人工智能界牛人主页
查看>>
Android 自定义View合集
查看>>
用scikit-learn学习谱聚类
查看>>
zookeeper原理解析-选举
查看>>
OpenStack 计算服务 Nova计算节点部署(八)
查看>>
8 -- 深入使用Spring -- 3...2 ResouceLoader 接口和 ResourceLoaderAware 接口
查看>>
win32下编译glog
查看>>