(三十五)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();
        } 
    }
}

 

posted @   代号六零一  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示