技术开发 频道

C#必备知识之预编译指令

  参考下面的代码:

#if DEBUG ------〉该DEBUG如果选中当前状态为DEBUG,则这个默认为#define
  
#warning “现在是Ddbug状态”
  
#elif RELEASE ------〉如果选中release状态的话,这个确没有默认,不知道我试验的对不对

#warning “现在是Realse状态”

#else

#error“并清楚什么状态”

#endif


  4.#region 和#endregion

  这个两个用来组成代码块

  5.#line (这个指定的使用不太明白,参考MSDN)

  这个指令可以改jian变编译器在警告和错误信息中显示的文件名和行号信息,用#line default把行号恢复为默认的行号。

  下面的示例说明如何报告与行号关联的两个警告。#line 200 指令迫使行号为 200(尽管默认值为 #7)。另一行 (#9) 作为默认 #line 指令 的结果跟在通常序列后。

  示例1:

  // preprocessor_line.cs
  public class MyClass2
  {
  
public static void Main()
  {
  
#line 200
  
int i; // CS0168 on line 200
  #line default
  
char c; // CS0168 on line 9
  }
  }

        
  示例2:

  下面的示例说明调试器如何忽略代码中的隐藏行。运行此示例时,它将显示三行文本。但是,当设置如示例所示的断点并按 F10 键逐句通过代码时,您将看到调试器忽略了隐藏行。另请注意,即使在隐藏行上设置断点,调试器仍会忽略它。

  // preprocessor_linehidden.cs
  using System;
  
class MyClass
  {
  
public static void Main()
  {
  Console.WriteLine(
"ormal line #1."); // Set a break point here.
  #line hidden
  Console.WriteLine(
"Hidden line.");
  
#line default
  Console.WriteLine(
"Normal line #2.");
  }
  }
0
相关文章