首先,你需要明白预处理命令的作用:
预处理命令的概念:在编译之前进行的处理。预处理命令从来不会转化为可执行代码中的命令,但会影响编译过程的各个方面。例如,使用预处理指令可以禁止编译器编译代码的某一部分。如果计划发布两个版本的代码,即基本版本和有更多功能的企业版本,就可以使用这些预处理器指令。
其次,来回答你关于if和#if的问题:
if的作用是程序流控制,会直接编译、执行。
#if是对编译器的指令,其作用是告诉编译器,有些语句行希望在条件满足时才编译。
1、其表达式的真假决定代码是否编译。是编译器指令,使用如下:
#if 表达式
代码1
#else if
代码2
。。。可以嵌套多个
#end if
2、if 是程序流程控制
#region是c#预处理器指令。
#region是一个分块预处理命令,它主要用于编辑代码的分段,在编译时会被自动删除。
#region使你可以在使用VS代码编辑器的大纲显示功能时指定可展开或折叠的代码块。
例如:
#region MyClass definition
public class MyClass
{
static void Main()
{
}
}
#endregion
备注:#region块必须以#endregion指令终止。
#region块不能与#if块重叠。但是,可以将#region块嵌套在#if块内,或将#if块嵌套在#region块内。