#define (referenční dokumentace jazyka C#)
Použijete #define k definici symbolu.Při použití symbolu jako výraz, který je předán direktivě #if bude výraz vyhodnocen jako true, jak ukazuje následující příklad:
#define DEBUG
Poznámky
[!POZNÁMKA]
Směrnici #define nelze použít k deklarování konstantních hodnot tak, jak se obvykle provádí v jazyce C a C++.Konstanty v jazyce C# jsou nejlépe definovány jako statické členy třídy nebo struktury.Pokud máte několik takových konstant, zvažte vytvoření samostatné třídy "Konstanty" pro jejich uložení.
Symboly lze použít k určení podmínek kompilace.Můžete vyzkoušet symbol s #if nebo #elif.Můžete také použít atribut conditional k provedení podmíněné kompilace.
Můžete definovat symbol, ale nemůžete symbolu přiřadit hodnotu.Než použijete pokyny, které nejsou zároveň i direktivami pro preprocesor, je třeba direktivu #define použít v souboru.
Můžete také definovat symbol s možností kompilátoru / define.Můžete nedefinovat symbol s #undef.
Symbol, který definujete pomocí /define nebo #define, není v rozporu s proměnnou se stejným názvem.To znamená, že název proměnné by neměl být předán direktivě preprocesoru a symbol lze vyhodnotit pouze pomocí direktivy preprocesoru.
Rozsah symbolu, který byl vytvořen pomocí #define je soubor, ve kterém byl definován symbol.
Jak ukazuje následující příklad, je nutné umístit direktivy #define na začátek souboru.
#define DEBUG
//#define TRACE
#undef TRACE
using System;
public class TestDefine
{
static void Main()
{
#if (DEBUG)
Console.WriteLine("Debugging is enabled.");
#endif
#if (TRACE)
Console.WriteLine("Tracing is enabled.");
#endif
}
}
// Output:
// Debugging is enabled.
Příklad zrušení definice symbolu naleznete v tématu #undef (referenční dokumentace jazyka C#).
Viz také
Úkoly
Postupy: Podmíněná kompilace pomocí atributu Trace a Debug
Referenční dokumentace
const (Referenční dokumentace jazyka C#)
#undef (referenční dokumentace jazyka C#)
#if (referenční dokumentace jazyka C#)