ディレクティブ
C#において,前処理指令は,その名に反して前処理機構によっては処理されず, 字句解析段階の一部として処理される。
規格の詳細に立ち入ることは避けるが, #define等の条件付き翻訳用記号が(C言語における前処理機構がするように) 字句解析段階で具体的な処理が施される一方で, #region等の制御指令によって定めた領域は翻訳段階において特別扱いされることなく, 専らプログラム作成者や関連する補助機構に対して効果がある。
using指令は,他の名前空間で定義されている名前空間及び型の利用が可能になり, 又using別名指令によって特定の翻訳単位又は名前空間本体内で別名を使用できる。
↑ 具体的には,多バイト文字を写像し,連続する逆斜線と改行を削除して, 前処理字句及び空白文字類の並びに分割した直後に, 前処理指令の実行と(前処理指定によって定義された)マクロの展開が行われる。
↑ そもそも,C#において前処理という概念は存在しない。 前処理指令という語は,C及びC++言語等との一貫性を保つために用いられているだけである。