JAVA预处理器指令,C#预处理指令

预处理器指令用来在编译开始之前给编译器指示预处理信息。

所有预处理程序指令以符号#开头,并且只有空格字符在一行上,空格符可预处理器指令之前出现。 预处理器指令不是语句,所以它们不以分号(;)结尾。

C# 编译器没有分隔预处理器;,指令被处理为只有一个。 在 C# 中,预处理指令用于指示条件编译。与C语言和C++指令不同,它们不用于创建宏。 预处理程序指令必须是一行中的唯一指令。

C# 预处理器指令

下表列出了 C# 中提供的预处理指令:

预处理指令

描述

#define

定义一个叫作符号的字符序列。

#undef

用于取消定义的符号。

#if

用来测试符号以查看它们是否为真。

#else

用来与#if来创建一个复合条件指令。

#elif

用来创建一个复合条件指令。

#endif

指定条件指令的结束。

#line

用于修改编译器的行号和(可选)修改错误和警告的文件名输出。

#error

用于从代码中的特定位置生成错误。

#warning

用于从代码中的特定位置生成一级警告。

#region

允许您在使用Visual Studio代码编辑器的概述功能时指定可以展开或折叠的代码块。

#endregion

用于标志着#region块的结束。

#define预处理程序

#define预处理程序指令创建符号常量。

#define允许定义一个符号,通过使用该符号作为传递给#if指令的表达式,表达式的计算结果为true。其语法如下:

#define symbol

以下程序演示如何使用#define指令:

#define PI

using System;

namespace PreprocessorDAppl

{

class Program

{

static void Main(string[] args)

{

#if (PI)

Console.WriteLine("PI is defined");

#else

Console.WriteLine("PI is not defined");

#endif

Console.ReadKey();

}

}

}

当编译和执行上述代码时,会产生以下结果:

PI is defined

条件指令

可以使用#if指令创建条件指令。条件指令用于测试符号检查它们的值是否为真。 如果它们评估求值为true,编译器将评估求值#if到下一个指令之间的所有代码。

条件指令的语法是:

#if symbol [operator symbol]...

其中,符号(symbol)是要测试的符号的名称。也可以使用布尔值:true和false,或者使用否定运算符加到符号的前面。

运算符符号是用于评估符号的运算符。运算符可以是以下任一项:

==(相等)

!=(不等式)

&&(和)

|| (或)

也可以使用括号对符号和运算符进行分组。在用于编译调试版本的代码或编译特定配置时可使用条件指令。 以#if指令开头的条件指令必须明确地使用#endif指令终止。

以下程序演示了条件指令的用法:

#define DEBUG

#define VC_V10

using System;

public class TestClass

{

public static void Main()

{

#if (DEBUG && !VC_V10)

Console.WriteLine("DEBUG is defined");

#elif (!DEBUG && VC_V10)

Console.WriteLine("VC_V10 is defined");

#elif (DEBUG && VC_V10)

Console.WriteLine("DEBUG and VC_V10 are defined");

#else

Console.WriteLine("DEBUG and VC_V10 are not defined");

#endif

Console.ReadKey();

}

}

当编译和执行上述代码时,会产生以下结果:

DEBUG and VC_V10 are defined

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值