Google不适合搜索#符号
if在make前面有什么影响?
我正在清理一些混乱,并且从未见过这个
答案 0 :(得分:3)
这些是指令或“预处理器指令”。它们基本上允许对VB代码进行条件编译。这是与VB相关的MSDN文章:
答案 1 :(得分:2)
预处理指令提供了有条件地跳过源文件部分,报告错误和警告条件以及描述源代码的不同区域的能力
答案 2 :(得分:2)
从表面上看,行为
#If...Then...#Else
指令看起来与指令相同 如果......那么......其他陈述。然而, #If ...然后...... #Else指令 评估由什么编译 编译器,而If ... Then ... Else 语句评估运行条件 时间。
答案 3 :(得分:1)
#If...Then...#Else
是一个预处理程序指令,它允许根据特定条件编译代码的某些部分。
它的作用与常规If...Then...Else
语句类似,但不同之处在于在编译程序时会评估条件。这导致代码的某些部分没有被编译。
当您希望为应用程序的Debug版本编译某些代码而不是为发布版本编译代码时,#If
会很有用。以下面的代码为例。通过编写下面的代码,Beep()
部分将在调试模式下编译,但是当项目的输出类型更改为Release时,该部分将不会被编译。
#If DEBUG Then
'beep once in debug mode
Beep()
#Else
'do nothing
#End If
#If
指令适用于Conditional Compilation Directives。这些是在编译时计算的“变量”,用于确定要编译的代码的哪些部分。
在标准项目中,您有以下条件编译指令:
使用这些条件编译指令,您可以轻松地将代码的某些部分编译到输出中。
答案 4 :(得分:0)
#If /#Else / #EndIf指令可用于告诉编译器,Intellisense等忽略代码段。如果在“If False Then ... End If”语句中包含一些代码,代码将永远不会执行,但编译器仍将处理它,并且Intellisense仍将更新它。如果程序的一部分被“#If False ... #EndIf”包围,它将基本上被视为注释。不要求“#If False”指令中的内容在语法上有效,而“重命名变量”之类的工具不会影响它。
答案 5 :(得分:0)
只是为了给一个考试(其他人已经回答了#-directive是什么):
#IF debug=true
userhandler.login("stefan","mypassword")
#else
userhandler.login(usernameTextbox.text,userpasswordTextbox.text)
#end if
当您在调试模式下运行代码时,编译器将自动处理IF条件的真实部分中的代码。当您将项目设置为释放并重建项目时,它将使用if条件的其他部分。通过这种方式,您可以使程序员更容易进行测试,以及其他许多场景。