Директива line
Директива line сообщает компилятору,
какой номер строки и какой путь к файлу
указывать в ошибках и предупреждениях для
следующих строк исходника. Запись
"#line 200 "demo.cs"" не меняет порядок
выполнения программы - меняется только
служебная метка в диагностике. Форма
"#line default" возвращает реальные номера,
а "#line hidden" скрывает промежуточные
строки при отладке по шагам.
Синтаксис
#line номер "имя_файла"
#line default
#line hidden
Пример
Давайте задим номер 200 и имя
demo.cs, затем выведем строку:
#line 200 "demo.cs"
using System;
class Program
{
static void Main()
{
Console.WriteLine("abcde");
}
}
Результат выполнения кода:
"abcde"
Пример
Давайте сменим номер и вернёмся к реальным
меткам через default:
#line 50 "fragment.cs"
using System;
class Program
{
static void Main()
{
int num = 3;
#line default
Console.WriteLine(num);
}
}
Результат выполнения кода:
3
Пример
Давайте выведем сумму после директивы с другим номером строки:
using System;
class Program
{
static void Main()
{
int a = 10;
#line 1000 "report.cs"
int b = 2;
Console.WriteLine(a + b);
}
}
Результат выполнения кода:
12