ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:#define(C# 参考) |
1.返回顶部 |
1、
#define(C# 参考)
使用 #define
来定义符号。 将符号用作传递给 #if 指令的表达式时,该表达式的计算结果为 true
,如以下示例所示:
C#
#define DEBUG
备注
备注
#define
指令不能用于声明常量值,这与 C 和 C++ 中的通常做法一样。 C# 中的常量最好定义为类或结构的静态成员。 如果具有多个此类常量,请考虑创建一个单独的“常量”类来容纳它们。
符号可用于指定编译的条件。 可通过 #if 或 #elif 测试符号。 还可以使用 ConditionalAttribute 来执行条件编译。
可以定义一个符号,但不能向符号分配值。 文件中必须先出现 #define
指令,才能使用并非同时也是预处理器指令的任何指示。
还可以通过 -define 编译器选项来定义符号。 可以通过 #undef 取消定义符号。
使用 -define
或 #define
定义的符号与具有相同名称的变量不冲突。 也就是说,变量名称不应传递给预处理器指令,且符号仅能由预处理器指令评估。
使用 #define
创建的符号的作用域是在其中定义该符号的文件。
如以下示例所示,必须将 #define
指令放在文件顶部。
C#
#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.
有关如何取消对符号进行定义的示例,请参阅 #undef。
请参阅
2、
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
1、
2、
6.返回顶部 |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |