Najlepszy samouczek Dyrektywy preprocesora C # W 2024 r. W tym samouczku możesz dowiedzieć się C # lista dyrektyw preprocesora,#define preprocesor,instrukcje warunkowe,
Poinstruować preprocesora kompilatora przed faktycznym rozpoczęciem kompilacji wstępnej obróbki informacji.
Wszystkie dyrektywy preprocesora zaczynają się od znaku #. I w jednej linii, tylko puste znaki mogą pojawić się przed dyrektywy preprocesora. Preprocesor dyrektywa nie jest stwierdzenie, więc nie są one średnik (;) end.
Kompilator C # nie posiada oddzielnego pre-procesor, jednak chciałby mieć oddzielny preprocesora w instrukcji jest przetwarzane. W języku C #, dyrektywy preprocesora do pracy warunkowej kompilacji. C i C ++ nie mają różnych instrukcji, nie są one wykorzystywane do tworzenia makra. Dyrektywa preprocesora muszą być jedynym instruktorem na tej linii.
Poniższa tabela zawiera wykaz dyrektyw preprocesora C # dostępne są:
预处理器指令 | 描述 |
---|---|
#define | 它用于定义一系列成为符号的字符。 |
#undef | 它用于取消定义符号。 |
#if | 它用于测试符号是否为真。 |
#else | 它用于创建复合条件指令,与 #if 一起使用。 |
#elif | 它用于创建复合条件指令。 |
#endif | 指定一个条件指令的结束。 |
#line | 它可以让您修改编译器的行数以及(可选地)输出错误和警告的文件名。 |
#error | 它允许从代码的指定位置生成一个错误。 |
#warning | 它允许从代码的指定位置生成一级警告。 |
#region | 它可以让您在使用 Visual Studio Code Editor 的大纲特性时,指定一个可展开或折叠的代码块。 |
#endregion | 它标识着 #region 块的结束。 |
dyrektywa preprocesora #define tworzy stałych symbolicznych.
#define umożliwia zdefiniowanie symbolu tak, że poprzez użycie symbolu jest przekazywana do wyrażenia dyrektywy #if jako wyrażenie zwraca wartość true. Jego składnia jest następująca:
#define symbol
Następujący program ilustruje tę kwestię:
#define PI using System; PreprocessorDAppl przestrzeni nazw { Program klasy { static void Main (string [] args) { #if (PI) Console.WriteLine ( "PI zdefiniowano"); #else Console.WriteLine ( "PI nie jest zdefiniowana"); #endif Console.ReadKey (); } } }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
PI zdefiniowano
Można użyć dyrektywy #if stworzyć instrukcję warunkową. Instrukcje warunkowe do testowania, czy symbol jest prawdą. Jeśli to prawda, kompilator wykona kod między #if i następnej instrukcji.
Instrukcja warunkowa składni:
#if symbol [symbol operatora] pl.
W którymsymbol jest nazwą symboliczną być testowane. Można również skorzystać z prawdą i fałszem, lub symbol umieszczony przed operatorem negacji.
Operator symbolesą wykorzystywane do oceny symbol operatora. Operator może być jednym z następujących operatorów:
Można również użyć nawiasów symboli i operatorów grupowych. Warunkowe instrukcja w wersji debugowania lub skompilować określonej konfiguracji skompilowany kod. Warunkowe instrukcje począwszyod dyrektywy #if,musi być umieszczona w instrukcji#endifjest zakończone.
Następujący program przedstawia użycie instrukcji warunkowych:
#define DEBUG #define VC_V10 using System; public class TestClass { public static void main () { #if (DEBUG &&! VC_V10) Console.WriteLine ( "DEBUG jest zdefiniowany"); (DEBUG! && VC_V10) #elif Console.WriteLine ( "VC_V10 definiuje"); #elif (DEBUG && VC_V10) Console.WriteLine ( "DEBUG i VC_V10 są zdefiniowane"); #else Console.WriteLine ( "DEBUG i VC_V10 nie są zdefiniowane"); #endif Console.ReadKey (); } }
Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:
Debugowania i VC_V10 są zdefiniowane