如果Statement仅包含" True"

时间:2015-02-25 14:37:22

标签: c# if-statement vb6

我正在将vb6应用转换为c#,而且我遇到了一些我不太了解的内容。我从来没有见过if语句结构,其中被评估的表达式实际上是" true"或" false"。

    private bool InitializeForProgramming()      //OK
    {
      if (J1939.getReplyStatus() == modJ1939.dmOpFailed)             //or OpComplete (dmBusy auto cycles)
      {
        //check the Pointer value to see if engineRunning, or already in Mode
        if (true)                                //let it proceed             ***  ??
        {
          //nothing to do
        }
        else
        {
          lblCommun.Text = "ProgramMode Failed!";
          lblCommun.ForeColor = Color.Red;

          //could report more detailed reasons! (engineRunning, etc.)
          return true;             //FAILED!
        }

      }

这里用if(true)表达式评估什么?如果是真的?

这是原始的vb6代码:

Private Function InitializeForProgramming() As Boolean      'OK
If getReplyStatus = dmOpFailed Then             'or OpComplete (dmBusy auto cycles)
'check the Pointer value to see if engineRunning, or already in Mode
If (True) Then                                'let it proceed             ***  ??
  'nothing to do
Else
  txtCommun.Text = "ProgramMode Failed!"
  txtCommun.ForeColor = vbRed

  'could report more detailed reasons! (engineRunning, etc.)
  InitializeForProgramming = True             'FAILED!
  Exit Function
End If
End If

如果您需要我提供其他任何内容以帮助我获得答案,请告诉我。

5 个答案:

答案 0 :(得分:7)

这很可能是过去被删除的情况的结果。即曾经是if中的一个条件,但不再是。{您应该检查源控件历史记录以获取对该行的更改。

在这种情况下,您可以删除整个if语句以进行重写。此外,C#可能会抱怨并非所有代码路径都返回该方法的值。

答案 1 :(得分:1)

你是正确的人,如果(真实)在vb6中代码什么都不做。继续你的代码

答案 2 :(得分:1)

这可能不对,我认为 else 语句应该在其父级之外匹配。否则 if(true)之前是其他的东西,并且出于调试原因,那就是真的

答案 3 :(得分:1)

if(true)在这种情况下并不意味着什么,但似乎else是异常捕获或OnError。

在C#中你应该在这里使用try / catch。

答案 4 :(得分:1)

之前有人认为必须进行验证:

    //check the Pointer value to see if engineRunning, or already in Mode

可能是尚未开发的要求。

if (true) 

总是意味着,类似于:

if (1 == 1)