就我而言,这没有任何价值.我在研究问题时发现了这一点.
在VBA中:
鉴于以下内容: Dim a As Boolean, b As Boolean, c As Boolean
代码将a = b = c = 1 = 1
a赋值为False.
但是a = b = c = true指定了一个真实的.
任何人都可以解释为什么会这样吗?显然1 = 1评估为真.
作为旁注,a = 1 = 1也会将a指定为true.此外,使用变体而不是布尔值的行为是相同的.
我再次知道这没有实际意义,我只是好奇是否有人可以解释这种行为.
表达式从左到右计算,因为所有运算符具有相同的优先级.
a = b = c = 1 = 1
Run Code Online (Sandbox Code Playgroud)
b = c返回True.
True = 1返回False,因为True在比较之前转换为-1.
False = 1返回False
a = b = c = true
Run Code Online (Sandbox Code Playgroud)
b = c返回True
True = true返回True.
| 归档时间: |
|
| 查看次数: |
329 次 |
| 最近记录: |