时间:2021-05-28
权限分为增、删、改、查,数据库插入拥有权限的数值的和。比如拥有增加和修改功能,就是:Permissions.Add+Permissions.Mod,结果值为:5。
那么判断是否有此权限时,就可以调用IsPermission(value, per)方法。假设结果值为:5,那么如果“添加权限”调用就是:IsPermission(5, Permissions.Add),
返回结果为true;如果“删除权限”调用就是:IsPermission(5, Permissions.Del),返回结果为false。
公用类:
复制代码 代码如下:
/// <summary>
/// 权限设置二进制
/// </summary>
[Flags]
public enum Permissions
{
Add = 1,
Del = 2,
Mod = 4,
Select = 8
}
/// <summary>
/// 判断是否拥有此权限,false=不存在,true=存在
/// </summary>
/// <param name="value">权限类型值</param>
/// <param name="per">操作类型:增删改查</param>
/// <returns>判断是否拥有此权限,false=不存在,true=存在</returns>
public static bool IsPermission(int value, Permissions per)
{
bool bo = false;//默认不存在
switch (per)
{
case Permissions.Add:
if ((value & Convert.ToInt32(Permissions.Add)) == Convert.ToInt32(Permissions.Add))//运算 (value & 1)==1
bo = true;
break;
case Permissions.Del:
if ((value & Convert.ToInt32(Permissions.Del)) == Convert.ToInt32(Permissions.Del))//
bo = true;
break;
case Permissions.Mod:
if ((value & Convert.ToInt32(Permissions.Mod)) == Convert.ToInt32(Permissions.Mod))//
bo = true;
break;
case Permissions.Select:
if ((value & Convert.ToInt32(Permissions.Select)) == Convert.ToInt32(Permissions.Select))//
bo = true;
break;
}
return bo;
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的c
C语言位运算基础知识分享给大家,希望对大家有帮助。1.程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操
1.位运算概述从现代计算机中所有的数据二进制的形式存储在设备中。即0、1两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与
异或简单介绍:异或是一种基于二进制的位运算,用符号XOR或者^表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。简单理解就是不进位加法,如1
1、将文件以二进制流的格式写入数据库首先获得文件路径,然后将文件以二进制读出保存在一个二进制数组中,与数据库建立连接,在SQL语句中将二进制数组赋值给相应的参数