(三十五)C#编程基础复习——C#预处理器指令
预处理指定的作用主要是向编译器发出指令,以便在程序编译开始之前对信息进行一些预处理操作。在C#中,预处理器指令均以#开头,并且预处理器指令之前只能出现空格不能出现任何代码。另外,预处理器指令不是语句,因此它们不需要分好;结尾。
在C#中,预处理指令用于帮助条件编译。不同于C和C++中的指令,在C#中不能使用这些指令来创建宏,而且预处理器指令必须是一行中唯一的代码,不能掺杂其他。
一、预处理指器指令有哪些:
二、示例
①define预处理器
#define PI
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _035
{
internal class Program
{
static void Main(string[] args)
{
#if(PI)
Console.WriteLine("PI已定义");
#else
Console.WriteLine("PI未定义");
#endif
Console.ReadKey();
}
}
}
②条件指令
可以使用#if来创建条件指令,条件指令可以用于测试一个或多个符号的值是否为true。如果符号的值为true,那么编译器将评估#if指令和下一个指令之间的所有代码。在语法上#if预处理器语句与C#中的if条件判断语句比较相似。语法如下:
#if symbol_1
//要执行的代码
#elif symbol_2
//要执行的代码
#else
//要执行的代码
#endif
其中,symbol是要测试的符号的名称。
条件指令中可以使用运算符==(相等)和!=(不相等)来测试布尔值true或false,例如true表示已定义该符号。另外,还可以使用&&(and)、||(or)和!(not)运算符来同时测试多个符号,以及使用括号对符号和运算符分组。
注意:以#if指令开头的条件指令必须以#endif指令显式结束。
示例代码:
#define DEBUG
#define VC_V10
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _035
{
internal class Program
{
static void Main(string[] args)
{
#if (DEBUG && !VC_V10)
Console.WriteLine("DEBUG已定义");
#elif (!DEBUG && VC_V10)
Console.WriteLine("VC_V10已定义");
#elif (DEBUG && VC_10)
Console.WriteLine("DEBUG and VC_V10已定义");
#else
Console.WriteLine("DEBUG and VC_V10未定义");
#endif
Console.ReadKey();
}
}
}
分类:
C#基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了