- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用一些遗留的 VB 代码(.aspx 页面),并且到处都可以看到这种格式的条件:
If (someVar And {integer_x}) = {integer_x} Then
我见过各种各样的整数,但它们似乎都是 2 的幂(8、64、256、16384 等)。
这段代码有什么作用?
最佳答案
这是按位检查。这个article说明一切。
(但仅链接的答案不受欢迎,所以...)
当您进行按位运算时,您会查找“on”或值为 1 的位。如果您查找 someVar And 8
,则表示“someVar 的第 4 位是否开启从右侧在 on 位置"。
8 将二进制转换为 0001000
。如果 someVar
在该位置有 1,则逻辑运算符 And
将返回 0001000
或 8。然后检查是否相等。请注意,someVar
仍然可以打开其他位。它可能值 9 (0001001
),这仍然意味着条件为真。
现在,除非这是用于与电子系统的接口(interface)或解析原始数据,否则我会说这是一种非常过时的方式来执行带有 Flags 属性的 Enum 可以执行的操作。
让我们快进到今天:
<Flags()> _
Enum PizzaToppings
Sauce = 1
Pepperoni = 2
Mushrooms = 4
Peppers = 8
Bacon = 16
Ham = 32
Cheese = 64
Pineapple = 128
End Enum
'...
Dim myToppings As PizzaToppings = PizzaToppings.Sauce Or PizzaToppings.Cheese 'Use Or to combine or +
'...
If myToppings.HasFlag(PizzaToppings.Sauce) Then
addSauce()
End If
如果你不想为异能而烦恼,你也可以做一个移位:
1 << 0 is 2^0 is 1
1 << 1 is 2^1 is 2
1 << 2 is 2^2 is 4
1 << 3 is 2^3 is 8
因此:
Enum PizzaToppings
Sauce = 1 << 0
Pepperoni = 1 << 1
'...
关于vb.net - If (someVar And 8) = 8 Then -- 这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42146359/
这个问题在这里已经有了答案: String valueOf vs concatenation with empty string (10 个答案) 关闭 5 年前。 我想知道两种方法的区别。我现在正
那么下面2个例子有什么区别呢? var SomeFn = function (name){this.constructor.SomeVarible = name} 和 var SomeFn = fun
您好,我只是想知道是否可以使用 ng-if="!!someVar" 获得更好的性能,其中 someVar 是一个已定义或 undefined object ng-if="someVar"。两者显然都可
我正在重构一堆旧代码,发现 JSCS 显示关于 implicit type conversion 的警告对于 !!someVar 语句。 将所有这些隐式转换替换为 Boolean(someVar) 是
我正在创建一个 Model View Controller 框架,我对此很陌生。我想将变量从 Controller 传递到 View 。我的 View.php 构造函数如下所示: functi
符号 somevar >> 0 在 javascript 中是什么意思? 谢谢 最佳答案 在 a >> b 中,>> 是一个按位运算符,它以二进制表示 b 移动 a (> 0"是什么意思?,我们在St
我发现一些代码是为了调用 __uuidof(IMyInterface) 但实际上调用了 __uuidof(pIMyInterface) 其中 pIMyInterface 是一个指针输入IMyInter
我总是看到这种说法的某种变化: if(!someVar)// or whatever expression { someVar = new type; //or however the prog
我有下面的代码,但 getElementById(setID) 对我不起作用,我知道它捕获了 id,因为 alert(setID) 正在工作。 有什么想法吗? function getdata(fil
我试图通过 ajax 调用将一些数据插入到 mysql 中,但是当我试图从我的表单中获取数据时,javascript 在第一个变量上抛出了这个错误“Uncaught ReferenceError: a
我在 apple 文档和 NSObject swift 类中遇到过这个: func `self`() -> Self! func conformsToProtocol(_ `aProtocol`: P
我正在使用一些遗留的 VB 代码(.aspx 页面),并且到处都可以看到这种格式的条件: If (someVar And {integer_x}) = {integer_x} Then 我见过各种各样
足够简单的代码: $("meta[name=DCSext.Level]") 错误: Error: Syntax error, unrecognized expression: [name=DCSext
如何在 Swift 中使用 type(of: someVar) 作为正确的类型? 假设我有一些可请求的通用协议(protocol): protocol Decryptable: Decodable {
在以下来自 https://introcs.cs.princeton.edu/java/44st/BinarySearchST.java.html 的代码片段中keys = (Key[]) new C
我正在为 HTML 模板的本地开发(在 Mac 上)制作 Flask 应用程序,最终将通过 ASP.NET 提供服务。 出于本地开发的目的,我想要一种方法来用一些数据替换 .NET 样式标记的内容,这
我正在阅读一段代码,其中有 #include ... static char const *program_name; ... int main(int argc, char** argv){ pro
$q.all([promise]).then(function(data)){ console.log('resolved'); }; 假设 Promise 是“未定义”,那么它什么时候会被解决?即
我只是在用 AngularJS 做一些事情。我注意到通过使用 if 条件的附加样式,我总是得到错误的结果。为什么这样?我错过了什么吗?我试图用谷歌搜索它,但没有找到任何东西。 var myApp =
我正在使用 CodeIgniter 学习 PHP,这是我第一次想到这段代码: ... $dashboard = 'admin/dashboard'; $this->user_model->logged
我是一名优秀的程序员,十分优秀!