Vb.net VS2013 VS2015单线如果…那么

Vb.net VS2013 VS2015单线如果…那么,vb.net,visual-studio-2013,visual-studio-2015,Vb.net,Visual Studio 2013,Visual Studio 2015,以下语句在VS2013中编译并运行,但不在VS2015中运行: Dim z作为整数=1 尺寸y为整数=2 如果z=1,那么如果y=3,那么 y=4 语法似乎不完整,因为后面有Then。我不知道为什么它会在VS2013而不是VS2015中起作用 在VS2013中执行后,y=4,因此Then语句不需要级联到下一行 有没有想过为什么?这是VS2013中的一个bug吗?似乎是VS2015中删除的一个“bug或功能” 我建议你用更现代的 If z = 1 AndAlso y = 3 Then y

以下语句在VS2013中编译并运行,但不在VS2015中运行:

Dim z作为整数=1
尺寸y为整数=2
如果z=1,那么如果y=3,那么
y=4
语法似乎不完整,因为后面有
Then
。我不知道为什么它会在VS2013而不是VS2015中起作用

在VS2013中执行后,
y=4
,因此
Then
语句不需要级联到下一行


有没有想过为什么?这是VS2013中的一个bug吗?

似乎是VS2015中删除的一个“bug或功能”

我建议你用更现代的

    If z = 1 AndAlso y = 3 Then y=4

哦,好吧,让我们看看是否有人对此有解释嗯..我在VS2010中尝试过,但它实际上是编译的!@Bugs是的,它不编译。我尝试过改变目标框架以防出现问题,但它在任何框架中都不编译。我实际上看不到它的任何用途。这对我来说没有什么意义。如果z=1 t,你可以编写
如果y=3,那么
,然后在它下面,你可以写一个完整的代码,不管z或y等于什么,代码仍然被编译和执行。我认为这是VS早期版本中的一个错误,现在已经在VS2015以后的版本中修复了。Roslyn发生了,集成到VS2015中。完全重写了VB.NEt编译器,最初是用C++编写的,现在在VB.NET中。除了添加一组新的bug之外,他们确实利用了机会来修复原始编译器中的错误。