EN CSharp Directive Conditional - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Conditional compilation
Selects parts of the source code during compilation by symbols, not by runtime variables.
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
#define REPORT
#if REPORT
System.Console.WriteLine("Enabled");
#else
System.Console.WriteLine("Disabled");
#endif
Result:
Enabled
Syntax
#if FEATURE
// code
#elif OTHER
// other code
#else
// fallback
#endif
Example 1
#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
}
}
Example 2
#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.