请问这句赋值语句什么意思? var onlyOnline = (cmd.Flags & (int)CmdEntityFlags.SendToOfflineClient) < 0;其中 cmd.Flages 与 CmdEntityFlags.SendToOfflineClient 都是枚举中的具体值。但是我看不明白上句到底是怎么意思? 怎么还有个 < 0 呢 ? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是赋给onlyOnline true或false 枚举有对应的值呢, 示例: public enum TimeofDay:uint { Morning, Afternoon, Evening } Morning的值为0,Afternoon的值为1,Evening的值为2。等价于public enum TimeofDay:uint { Morning=0, Afternoon=1, Evening=2 } 通常用于检测状态,枚举值是int类型,&操作会判断cmd.Flages 与 CmdEntityFlags.SendToOfflineClient 必须有相同的状态值 cmd.Flags & (int)CmdEntityFlags.SendToOfflineClient是进行位运算吧<0表示最高位是1也就是说,这两个Flag的最高位如果都是1就返回true 枚举本质是数值,强制转换为int再与运算后可能为负数...onlyOnline是个bool... cmd.Flags & (int)CmdEntityFlags.SendToOfflineClient这个结果是个intcmd.Flags & (int)CmdEntityFlags.SendToOfflineClient < 0就表示结果是个负数啊,也就是最高位是1整个语句就表示如果cmd.Flags CmdEntityFlags.SendToOfflineClient的最高位都是1就赋值为true否则就是false你可以去查看那个枚举的定义,看看最高位表示什么 将CmdEntityFlags.SendToOfflineClient转为int,然后与cmd.Flags 进行与运算,判断运算结果是否<0枚举类型根据定义时的情况,可以转换为int,byte,sbyte等等 那就是定义一个布尔值吧true or false .NET实现下面场景,求大虾赐教 RDLC操作为什么保存后还是修改前的信息。 c# c++ socket 通信 如何传输struct 表:table_name 的字段赋值给 DropDownList1 求MD5算法生成128个字节特征码代码 .clone() 调用begininvoke如何的到返回值,如何传入ref参数? 高分求教DevExpress.XtraGrid.GridControl控件的问题 水晶报表如何不予览直接打印阿? Crystal Report中及其郁闷的问题 二进制数取每一位比较问题 大家进来看下这段代码是什么意思 ?
public enum TimeofDay:uint
{
Morning,
Afternoon,
Evening
}
Morning的值为0,Afternoon的值为1,Evening的值为2。
等价于
public enum TimeofDay:uint
{
Morning=0,
Afternoon=1,
Evening=2
}
是进行位运算吧<0表示最高位是1也就是说,这两个Flag的最高位如果都是1就返回true
就赋值为true
否则就是false你可以去查看那个枚举的定义,看看最高位表示什么
枚举类型根据定义时的情况,可以转换为int,byte,sbyte等等
true or false