2011-04-04 102 views
-1

当把下面的代码在Visual Studio 2008中C#中,“System”带有下划线并标记为“可达代码”:Visual Studio 2008 C#编译器const if语句问题!

public static class Program 
{ 
    const int motors = 1; 
    static void Main(string[] args) 
    { 
     if (motors < 1) 
     { 
      return; 
     } 
     System.Console.WriteLine("program run."); 
    } 
} 

这显然是不正确的,如果任何人都可以我想知道解释行为。谢谢!

我正在使用VS 2008专业版。

+0

看来这在VS 2010中不会发生。也许这是2008年静态分析引擎中的一个错误? – captncraig 2011-04-04 22:34:48

+0

您是否安装了resharper?已知他们的警告系统会发出不正确的警告。 – captncraig 2011-05-28 14:53:12

+0

@CMP:没有,没有resharper。 @Whomever:为什么downvote? – 2011-05-31 19:59:31

回答

1

尝试做一个干净的和构建。我怀疑有一个小故障,因为它是return;行是无法访问。

我刚刚在2008年试过这个,这是我被警告的回归线。

+0

好点。编辑可能已经搞错了渲染错误的地方。 – captncraig 2011-04-04 22:37:41

+0

我不认为这与项目状态或类似的事情有关。我在一个大的例子中遇到了这个问题,为了确定它确实是一个问题,我创建了一个全新的解决方案,将上面的代码粘贴在那里,并且得到了完全相同的问题,所以我将它复制到此处。现在已经发生了大概3周,而且我已经重新启动了很多次,重建等等。但是,谢谢你的建议。 – 2011-04-08 17:22:21

1

您的代码没有问题。可能是因为以前的错误已经纠正了下划线,在这种情况下,Visual Studio没有正确更新UI。这经常发生在我身上,我的建议是(重新)构建项目并检查下划线是否消失。

+0

和downvote的原因是? – mjsr 2011-05-15 14:51:09

+0

答案几乎不可读。我申请了一个编辑,当编辑完成后我会修改投票.. – 2011-05-31 20:01:37

+0

@有限我纠正了语法。我是西班牙语的学生,学习英语基本上是看电影,看书和听音乐,所以我倾向于在动词使用中犯错误。我认真地认为我需要阅读一本关于语法的书来改进我的着作,:/ – mjsr 2011-06-01 05:58:19