DotNet · 2022年5月2日

vb.net中位运算符使用说明

and   :对两个   Boolean   表达式执行逻辑合取,或对两个数值表达式执行按位合取。  
  Not  
:对   Boolean   表达式执行逻辑求反,或对数值表达式执行按位求反。  
  or  
  :用于对两个   Boolean   表达式执行逻辑析取,或对两个数值执行按位析取。  
 
xor   :对两个   Boolean   表达式执行逻辑异或运算,或对两个数值表达式执行按位异或运算。  
 
特别注意:当and或其他用于位运算符时,必须用括号优先括起来,进行运算,否则会有歧义如:
        if(a1 and a2 >0)
then   ‘有可能执行的不是位运算,而是逻辑运算,导致异常,而
        if((a1 and a2)>0)
then    ‘则可以正常进行位运算。

使用案例:
设置某一位值为1
 mLTDExtendStatus = mLTDExtendStatus Or pOneEnum
 x = y or 2   ‘表示第二位的值设为1

设置某一位值为0
方法一:
mLTDExtendStatus = mLTDExtendStatus And (Not pOneEnum) 
x = y and (not 2) ‘表示把y的第二位的值设为0
方法二:
mLTDExtendStatus = mLTDExtendStatus And (Int32.MaxValue – pOneEnum)  ‘Int32.MaxValue – pOneEnum起到取反效果
方法三:
if((mLTDExtendStatus and pOneEnum)>0) then    ‘这种方法要先检查,确保指定位置的值为1,否则得到错语的值
    mLTDExtendStatus = mLTDExtendStatus xor pOneEnum
end if

最新电影,电视剧,尽在午夜剧场

电影电视剧午夜不寂寞