Skip to content

EN CSharp Directive Line

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Display of initial positions

Handbook C# · Practical Guide

Changes the line number and file name in the diagnostics or hides the section from the debugger. Does not change the actions being performed.

Simple example (Example.cs)

Save this example separately as Example.cs. Run it independently of the other examples on this page.

Example.cs:

// PROJECT-EXAMPLE
#line 100 "Original.cs"
System.Console.WriteLine("Mapped");
#line default

Result:

Mapped

Syntax

#line number "file" / #line hidden / #line default

Example 1

#line 100 "Original.cs"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        Console.WriteLine("Mapped");
    }
}

Example 2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;

public static class Program
{
    public static async Task Main(string[] args)
    {
        #line hidden
        int value = 3;
        #line default
        Console.WriteLine(value);
    }
}

Official source: Microsoft Learn.

Clone this wiki locally