.Net预处理器指令

1.最常用的预处理器指令#region #endregion,来定义可在大纲中折叠的代码区域.

#region MyClass def

public class MyClass

{

static void Main()

{

}

}

#endregion

2.定义符号预处理器指令:来定义或取消定义条件编译的符号:

#define:定义符号。

#undef:取消定义符号。

3.条件预处理器指令:#if,#elif, #else,endif.

可以在代码文件的顶部通过#define/#undef 指令定义符号,用于指定程序代码编译的条件,可以使用 #if 、#elif 、#endif来测试符号.

当您将#define定义的符号用作传递给 #if 指令的表达式时,此表达式的计算结果为 true,将#undef定义的符号用作传递给 #if 指令的表达式时,此表达式的计算结果为 false.

符号可用于指定编译的条件。 可通过 #if 或 #elif 测试符号。 还可以使用 ConditionalAttribute 来执行条件编译,如下例所示:

#define CalledTestM1

#undef CalledTestM2

#define DEBUG

#undef TRACE

using System;

public class TestDefine

{

static void Main()

{

//调用TestConditionalM1

TestConditionalM1();

//不调用TestConditionalM2

TestConditionalM2();

#if (DEBUG)

Console.WriteLine("Debugging is enabled.");

#endif

#if TRACE

Console.WriteLine("Tracing is enabled.");

#endif

}

Conditional("CalledTestM1")

static void TestConditionalM1() { Console.WriteLine("Conditional M1 is Called"); }

Conditional("CalledTestM2")

static void TestConditionalM2() { Console.WriteLine("Conditional M2 is Called"); }

}

// Output:

// Conditional M1 is Called

// Debugging is enabled.

相关推荐
Ronin3051 小时前
虚拟机数据管理模块
开发语言·c++·rabbitmq
3GPP仿真实验室1 小时前
【Matlab源码】6G候选波形:MIMO-OFDM-IM 增强仿真平台
开发语言·网络·matlab
斯内科1 小时前
C#德州扑克梭哈游戏(2):牌型与点数比较
游戏·c#·梭哈
晓13131 小时前
第五章 【若依框架:优化】高级特性与性能优化
java·开发语言·性能优化·若依
一叶之秋14121 小时前
基石之力:掌握 C++ 继承的核心奥秘
开发语言·c++·算法
见牛羊1 小时前
CMakeLists 写法总结3.0
开发语言·c++
柒儿吖1 小时前
rudp Reliable UDP 库在 OpenHarmony 的 lycium 适配与 CRC32 测试
c++·c#·openharmony
大模型玩家七七1 小时前
效果评估:如何判断一个祝福 AI 是否“走心”
android·java·开发语言·网络·人工智能·batch
qq_370773091 小时前
python实现人脸识别
开发语言·python·opencv
-小麦子-2 小时前
Python 里的 range 是干嘛的?
开发语言·python