【问题标题】:How does Visual Basic 6 convert integers to booleans?Visual Basic 6 如何将整数转换为布尔值?
【发布时间】:2012-02-25 03:08:46
【问题描述】:

我正在阅读vb6中的以下代码

If someInteger Then
    DoSomething
End If

不知道是不是这个意思

  1. someInteger == 1,
  2. someInteger > -1,
  3. someInteger > 0
  4. Convert.ToBoolean(someInteger)

C#中的等价表达式是什么?

【问题讨论】:

    标签: vb6 integer boolean implicit-conversion vb6-migration


    【解决方案1】:

    在 VB6 中,任何非零值都被视为 True;零是假的。 我建议始终按原样(并且应该是)布尔值指定表达式:

    If someInteger <> 0 Then ...
    

    【讨论】:

      【解决方案2】:

      这已解释为here。这是关于 VB.NET 的,但这种行为与 VB6 相比没有变化。

      基本上If someInteger Then ...等价于If someInteger &lt;&gt; 0 Then ...,所以不为零的都是True,不管是1、2、-1等等。

      【讨论】:

      • 在 .NET 中已经改变的一件事是 Option Strict,当设置为不允许 If someInteger Then 没有明确转换为 Boolean
      【解决方案3】:

      If someInteger Then 只有当someInteger 不是0 时才为真;

      if (someInteger != 0) { ...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-03
        • 2016-11-28
        • 2012-06-03
        • 1970-01-01
        • 1970-01-01
        • 2014-09-03
        • 2020-04-08
        相关资源
        最近更新 更多