如果這個工具幫到了你,可以請作者喝杯咖啡 ☕
快速檢視Visual Basic運算子優先順序與結合性,解決表示式計算困惑。
^tools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.right计算左操作数的右操作数次幂,是 VB 算术运算中优先级最高的一类。
2 ^ 3+atools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.right保留数值本身,通常用于强调操作数为正值或数值表达式。
+score-atools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.right返回操作数的相反数,优先级高于乘除但低于乘方。
-amount*tools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.left两个数值相乘。
price * count/tools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.left执行除法并返回浮点结果。
total / count\tools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.left执行整数除法,结果保留整数部分。
total \ 3Modtools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.left返回整数除法后的余数。
index Mod 2+tools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.left将两个数值相加;在部分上下文中也可能参与字符串拼接。
a + b-tools.level-vb-query.categories.arithmetictools.level-vb-query.associativity.left从左操作数中减去右操作数。
endValue - startValue&tools.level-vb-query.categories.concatenationtools.level-vb-query.associativity.left将两个表达式转换并连接为字符串,建议优先用它表达字符串拼接。
"VB" & "Script"=tools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none判断两个表达式是否相等。
status = "OK"<>tools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none判断两个表达式是否不相等。
status <> "OK"<tools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none判断左操作数是否小于右操作数。
age < 18>tools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none判断左操作数是否大于右操作数。
score > 90<=tools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none判断左操作数是否小于或等于右操作数。
count <= maxCount>=tools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none判断左操作数是否大于或等于右操作数。
count >= minCountLiketools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none按 VB 的通配符模式比较字符串。
fileName Like "*.txt"Istools.level-vb-query.categories.comparisontools.level-vb-query.associativity.none判断两个对象引用是否指向同一对象,常与 Nothing 搭配。
obj Is NothingNottools.level-vb-query.categories.logicaltools.level-vb-query.associativity.right对布尔表达式取反,也可对整数执行按位取反。
Not isReadyAndtools.level-vb-query.categories.logicaltools.level-vb-query.associativity.left两个条件都为 True 时结果为 True,也可执行按位与。
isReady And hasAccessOrtools.level-vb-query.categories.logicaltools.level-vb-query.associativity.left任一条件为 True 时结果为 True,也可执行按位或。
isAdmin Or isOwnerXortools.level-vb-query.categories.logicaltools.level-vb-query.associativity.left两个布尔值不同时返回 True,相同时返回 False。
flagA Xor flagBEqvtools.level-vb-query.categories.logicaltools.level-vb-query.associativity.left两个布尔值相同时返回 True,不同时返回 False。
flagA Eqv flagBImptools.level-vb-query.categories.logicaltools.level-vb-query.associativity.left表示逻辑蕴含关系,仅当左侧为 True 且右侧为 False 时结果为 False。
flagA Imp flagB在編寫Visual Basic表示式時,運算子優先順序直接決定了計算順序,一旦混淆就可能導致結果錯誤。VB運算子優先順序查詢器以清晰的層級表格展示所有運算子的優先順序與結合性,幫助開發者快速覈對算術、比較、連線和邏輯運算子的先後次序,避免程式碼邏輯漏洞。
3 + 4 * 2 ^ 2,先查表得指數運算子^優先順序最高,其次乘法*,最後加法+,計算結果為3 + 4 * 4 = 19,而不是7 * 4 = 28。True Or False And False 會先計算 False And False 得 False,再計算 True Or False 得 True。本工具展示的優先順序基於VB6/VBA規範,VB.NET中運算子新增及部分優先順序有調整,使用時請確認語言版本。所有運算子優先順序均以運算規則爲準,不建議僅依賴記憶,複雜表示式請使用括號明確順序。本頁面為只讀參考,不涉及使用者隱私資料,可放心使用。
比較運算子(=、<>、<、>、<=、>=、Is、Like)擁有相同的優先順序,且結合性均為從左到右;字串連線運算子& 和 + 也處於同一優先順序。當表示式中出現同一優先順序的多個運算子時,將按從左到右的順序依次計算。若無法立即確定優先順序,一個最穩妥的實踐是:用括號將核心子表示式括起來,既提升可讀性,又保證計算次序正確。