C语言 百分网手机站

c#中预处理指令#line的使用

时间:2020-09-25 17:16:49 C语言 我要投稿

c#中预处理指令#line的使用

  引导语:程序设计领域,预处理是在程序源代码被编译之前,由预处理器对程序源代码进行的处理。以下是小编整理的c#中预处理指令#line的使用,欢迎参考阅读!

  #line 使您可以修改编译器的行号以及(可选)错误和警告的文件名输出。下面的示例说明如何报告与行号关联的两个警告。#line 200 指令强迫行号为 200(尽管默认值为 #7)。另一行 (#9) 作为默认 #line 指令的结果跟在通常序列后。

  class MainClass

  {

  static void Main()

  {

  #line 200

  int i; // CS0168 on line 200

  #line default

  char c; // CS0168 on line 9

  }

  }

  备注

  #line 指令可能由生成过程中的自动中间步骤使用。例如,如果行从原始的源代码文件中移除,但是您仍希望编译器基于文件中的原始行号生成输出,则可以移除行,然后用 #line 模拟原始行号。

  #line hidden 指令对调试器隐藏若干连续的行,这样当开发人员在逐句通过代码时,将会跳过 #line hidden 和下一个 #line 指令(假定它不是另一个 #line hidden 指令)之间的所有行。此选项也可用来使 ASP.NET 能够区分用户定义的.代码和计算机生成的代码。尽管 ASP.NET 是此功能的主要使用者,但很可能将有更多的源生成器使用它。

  #line hidden 指令不会影响错误报告中的文件名或行号。即,如果在隐藏块中遇到错误,编译器将报告当前文件名和错误的行号。

  #line filename 指令指定您希望出现在编译器输出中的文件名。默认情况下,使用源代码文件的实际名称。文件名必须括在双引号 ("") 中。

  源代码文件可以具有 #line 指令的任何编号。

  示例 1

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

  // preprocessor_linehidden.cs

  using System;

  class MainClass

  {

  static void Main()

  {

  Console.WriteLine("Normal line #1."); // Set break point here.

  #line hidden

  Console.WriteLine("Hidden line.");

  #line default

  Console.WriteLine("Normal line #2.");

  }

  }

【c#中预处理指令#line的使用】相关文章:

c#中预处理指令#if的使用10-30

c#访问关键词base的使用10-05

c#查询关键字之into的使用10-04

c#运算符关键字is的使用10-06

c#转换关键词explicit的使用10-06

c#查询关键字之group子句的使用10-03

C语言的预处理10-28

c#中访问关键词 this 的常用用途10-06

JAVA中If语句的使用10-03