在C/C++中,你如果想注释掉一段代码(代码中已经有/* */),不能直接使用/* 与 */的情况下,直接使用# if 0 ... #endif就可以了。
但是C#中,是不能直接使用#if 0的,需要使用#if false。
实例如下:
#if false
string P_Str_SqlStr = string.Format(//创建Sql查询字符串
"select 学生编号,学生姓名,性别,年龄,家庭住址 from tb_Student");
#endif
string P_Str_SqlStr = string.Format(//创建Sql查询字符串
"select * from tb_Student");
MSND中的解释如下:
如果 C# 编译器遇到最后面跟有 #endif 指令的 #if 指令,则仅当指定的符号已定义时,它才会编译这两个指令之间的代码。 与 C 和 C++ 不同,您不能对符号赋予数值;C# 中的 #if 语句是 Boolean,仅测试符号是否已定义。 例如,
#define DEBUG
// ...
#if DEBUG
Console.WriteLine("Debug version");
#endif
使用运算符 ==(相等)和 !=(不相等)只能测试出结果为 true 还是 false。 True 表示符号已定义。 语句 #if DEBUG与 #if (DEBUG == true) 的含义相同。 可以使用运算符&& (and)、|| (or) 和 !(无) 计算多个符号是否定义了。 还可以用括号将符号和运算符分组。