VB .NET中缺少块注释?

时间:2010-02-04 00:36:46

标签: vb.net comments block-comments

只是一个有趣的问题:有谁知道为什么VB .NET中没有块注释功能? (除非确实存在 - 但我从未遇到过它。)

4 个答案:

答案 0 :(得分:17)

这是Visual Basic语法的副作用,换行符终止语句。这使得多行注释与编译器解析语言的基本方式非常不兼容。在大括号语言中不是问题,新行只是空格。

它从来就不是一个真正的问题,Visual Basic已经为非常很长时间提供了强大的IDE支持。注释掉多行是IDE功能,编辑+高级+注释选择。

答案 1 :(得分:8)

在这里完全滥用编译器指令......但是:

#If False Then
Comments
go
here
#End If

您没有获得正确代码着色的好处(使用默认颜色方案时它不会显示为绿色)并且隐式行继续系统会自动缩进从第二行开始的段落中的行。但编译器会忽略该文本。

答案 2 :(得分:2)

可以在“Comments in Code“中阅读,没有任何其他方式:

  

如果您的评论需要多行,请在每行上使用评论符号,如下例所示。

' This comment is too long to fit on a single line, so we break 
' it into two lines. Some comments might need three or more lines.

同样,REM statement州的帮助:

  

注意:
  您不能使用行继续序列(REM)继续_语句。评论开始后,编译器不会检查字符的特殊含义。对于多行注释,请在每行使用其他REM语句或注释符号(')。

答案 3 :(得分:0)

根据要忽略的行数,可以使用编译器指令。它可能在技术上不等同于注释(例如,您没有获得注释的语法颜色),但它可以在不单独注释多行的情况下完成工作。所以你只需添加3行代码。

#Const COMMENT = "C"
'basically a false statement
#If COMMENT = "Y"  Then
   'code to be commented goes between #If and #End If
   MsgBox('Commenting failed!')
#End If

这假设目的是忽略代码块而不是添加文档(实际上使用了什么“注释”,但我也不介意使用编译器指令)。

然而,当需要大约10行评论时,所需的努力使得该方法不方便。

参考:http://msdn.microsoft.com/en-us/library/tx6yas69.aspx