为什么行继续符(_)必须是行中的最后一个?是否存在技术原因,或者这是微软常用的"功能"?
在其他基本方言中你可以在它之后添加注释,但不能在VB.net中添加注释,所以我很好奇为什么微软决定不允许这些注释.
它必须融入编译器,因为反汇编的代码看起来没有什么不同.看看下面的代码:
Dim nameVar As String = "John"
MsgBox("Hello " & nameVar & _
". How are you?")
Run Code Online (Sandbox Code Playgroud)
MSIL看起来像这样:
IL_0000:nop
IL_0001:ldstr"John"
IL_0006:stloc.1
IL_0007:ldstr"Hello"
IL_000c:ldloc.1
IL_000d:ldstr".你好吗?"
IL_0012:调用字符串[mscorlib] System.String :: Concat(字符串,
字符串,
字符串)
现在相同的代码没有行继续:
Dim nameVar As String = "John"
MsgBox("Hello " & nameVar & ". How are you?")
Run Code Online (Sandbox Code Playgroud)
MSIL完全相同:
IL_0000:nop
IL_0001:ldstr"John"
IL_0006:stloc.1
IL_0007:ldstr"Hello"
IL_000c:ldloc.1
IL_000d:ldstr".你好吗?"
IL_0012:调用字符串[mscorlib] System.String :: Concat(字符串,
字符串,
字符串)
所以这是编译器的"特性".为什么这样?在解释有关VB.NET的任何内容时,您需要回顾经典的Visual Basic.许多原理和程序只是简单地使用VB.NET以获得舒适度并吸引VB6和早期的程序员.那么为什么它是VB.NET(2008及之前)的方式可能是因为它在VB6及更早版本中就是这样.我冒昧地猜测它是在VB6中以这种方式完成的,因为在编译代码之前IDE有限制,但我们永远不会知道除非原始VB6微软团队中的某些人在其背后添加了他们的推理.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4201 次 |
| 最近记录: |