C# – Preprocessor Directives are highly useful for writing code that can be compiled conditionally, depending on factors like the target framework, target platform, or build configuration.
For example:
#if NET9_0_OR_GREATER
// The code within this block will execute only on .NET 9 or higher
#endif
#if ANDROID
// The code within this block will execute only on the Android OS
#endif
#if DEBUG
// The code within this block will execute only in Debug mode
#endif
C# – Ignored Directives have a similar syntax but are ignored by the compiler because they are for tooling.
The real purpose of this feature is to execute a C# source file directly from the CLI. It doesn’t need a project file. Now, even the plain console app requires a project file, despite the much-simplified top-level statements feature.