Fre*_*nöw 2 vb.net math syntax
我正在迅速从其他东西复制代码.经过测试和调试,我一直得到非常奇怪的结果.在再次比较代码之后,我意识到我=在我的等式中添加了一个额外的内容:
Dim lowerLeft As Integer = x = +y * terrainWidth
Run Code Online (Sandbox Code Playgroud)
与此相反:
Dim lowerLeft As Integer = x + y * terrainWidth
Run Code Online (Sandbox Code Playgroud)
这到底是做什么的?
如果你有Option Strict On(你应该),这将无法编译.
甲=表达式内是比较运算符.结果是一个Boolean.在您的情况下,这意味着表达式相当于:
Dim lowerLeft As Integer
If x = +y * terrainWidth Then
lowerLeft = True ' Converted to 1
Else
lowerLeft = False ' Converted to 0
End If
Run Code Online (Sandbox Code Playgroud)
Option Strict On 正确地禁止这种隐含的转换.
| 归档时间: |
|
| 查看次数: |
55 次 |
| 最近记录: |