यह आपको कंपाइलर की लाइन नंबर और (वैकल्पिक रूप से) त्रुटियों और चेतावनियों के लिए फ़ाइल नाम आउटपुट को संशोधित करने देता है।
आइए कुछ उदाहरण देखें।
#line 100 "demo" int a; // CS0168 लाइन 100 पर int b; // CS0168 लाइन 101 पर int c; // CS0168 लाइन 102 पर
ऊपर दिखाए गए अनुसार उदाहरण लाइन नंबर से जुड़ी तीन चेतावनियों की रिपोर्ट करता है। #line 100 डायरेक्टिव लाइन नंबर को 100 पर बाध्य करता है और अगले #line डायरेक्टिव तक, फ़ाइल नाम "demo" के रूप में रिपोर्ट किया जाएगा।
आइए एक और उदाहरण देखें: डिफ़ॉल्ट डायरेक्टिव लाइन नंबरिंग को उसकी डिफ़ॉल्ट नंबरिंग पर लौटाता है। यह डायरेक्टिव तब उन लाइनों को गिनता है जिन्हें पिछले डायरेक्टिव द्वारा री-नंबर किया गया था।
#line default char a; // CS0168 लाइन 15 पर float b; // CS0168 लाइन 16 पर