Skip to content

JA CSharp Directive Conditional

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

条件付きコンパイル

ディレクトリ C# · 実践的な指導

コンパイル中に、ランタイム変数ではなくシンボルによってソース コードの一部を選択します。

簡単な例 (Example.cs)

この例を Example.cs として別に保存し、このページの他の例とは独立して実行してください。

Example.cs:

// PROJECT-EXAMPLE
#define REPORT
#if REPORT
System.Console.WriteLine("Enabled");
#else
System.Console.WriteLine("Disabled");
#endif

結果:

Enabled

構文

#if FEATURE
// code
#elif OTHER
// other code
#else
// fallback
#endif

例 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
    }
}

例 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
    }
}

公式ソース: Microsoft Learn。

Clone this wiki locally