Repository navigation
EN CSharp Directive Conditional
Codex edited this page Oct 11, 2026
·
2 revisions
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Selects parts of the source code during compilation by symbols, not by runtime variables.
Save this example separately as Example.cs. Run it independently of the other examples on this page.
Example.cs:
// PROJECT-EXAMPLE
#define REPORT
#if REPORT
System.Console.WriteLine("Enabled");
#else
System.Console.WriteLine("Disabled");
#endifResult:
Enabled
#if FEATURE
// code
#elif OTHER
// other code
#else
// fallback
#endif#define FEATURE
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)
{
#if FEATURE
Console.WriteLine("Feature enabled");
#else
Console.WriteLine("Fallback");
#endif
}
}#define SECOND
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)
{
#if FIRST
Console.WriteLine("First");
#elif SECOND
Console.WriteLine("Second");
#else
Console.WriteLine("Neither");
#endif
}
}Official source: Microsoft Learn.
ClassicUO — Bad Newbie & C# Scripts IDE