加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – Visual Basic:使用OR进行变量赋值

发布时间:2020-12-17 07:15:27 所属栏目:百科 来源:网络整理
导读:我不明白OR语句在这个代码示例中做了什么. DE.Properties("UserAccountControl").Value = CInt(DE.Properties("UserAccountControl").Value) Or AccountOptionsEnum.UF_ACCOUNTDISABLE DE.Properties(“UserAccountControl”).值表示小数. 枚举是整数. 我知
我不明白OR语句在这个代码示例中做了什么.

DE.Properties("UserAccountControl").Value = CInt(DE.Properties("UserAccountControl").Value) Or AccountOptionsEnum.UF_ACCOUNTDISABLE

DE.Properties(“UserAccountControl”).值表示小数.

枚举是整数.

我知道这是代码用于在Active Directory中停用用户但我不明白“OR”在这里是如何工作的.

谢谢

解决方法

or是按位操作. C = A或B确保设置C中的所有位,这些位在A或B中设置.

例:

01001001
or 00011000
   --------
   01011001

AccountOptionsEnum.UF_ACCOUNTDISABLE可能是2 ^ x形式的值,这意味着只设置了一个位.让我们假设它是右边的第四位:

00001000   = UF_ACCOUNTDISABLE

操作X = X或UF_ACCOUNTDISABLE确保在X中设置第四个位.如果之前已设置,则没有任何更改:

00011100 old X
or 00001000 UF_ACCOUNTDISABLE
   --------
   00011100 new X

如果尚未设置,则将设置:

00010100 old X
or 00001000 UF_ACCOUNTDISABLE
   --------
   00011100 new X

基本上,通常使用以下按位操作:

X = X or FLAG         ' sets FLAG in X
X = X and not FLAG    ' removes FLAG from X
X = X xor FLAG        ' toggles FLAG in X
if (X and FLAG) <> 0  ' checks if FLAG is set in X

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读