当前位置: 首页 > news >正文

C#自学笔记:预处理指令

预处理指令

编译器

编译器是一种翻译程序,它用于将源语言程序翻译为目标语言程序
  • 源语言程序:某种程序设计语言写成的,比如C#、C、C++、Java等语言写的程序
  • 目标语言程序:二进制数表示的伪机器代码写的程序

预处理器指令

指导编译器,在实际编译开始之前对信息进行预处理

可以让代码还没有编译之前就进行一些预处理判断

  • 都是以#开始
  • 不是语句,所以它们不以分号 ; 结束
  • 在Unity中会用来进行一些平台或者版本的判断

折叠代码块就是预处理器指令

常见的预处理指令

  1. #define #undef
  • 定义一个符号,类似一个没有值的变量
  • 取消define定义的符号,让其失效

两者都是写在脚本文件最前面

一般配合if指令使用或配合特性

//定义一个符号
#define Unity4
#define Unity5
#define Unity2017
#define Unity2019
//取消定义一个符号
#undef Unity4#define IOS
#define Android
#define PC
  1. #if #elif #else #endif

和if语句规则一样,一般配合#define定义的符号使用

用于告诉编译器进行编译代码的流程控制

  • if和endif一定要配对出现
//如果发现有Unity4这个符号,那么其中包含的代码就会被编译器翻译
//可以通过 逻辑或 和 逻辑与 进行多种符号的组合判断
#if Unity4Console.WriteLine("版本为Unity4");
#elif Unity2017 && IOSConsole.WriteLine("版本为Unity2017");
#elseConsole.WriteLine("其他版本");
#endif
  1. #warning #error

告诉编译器,是报警告还是报错误,一般还是配合if使用

#if Unity4Console.WriteLine("版本为Unity4");
#elif Unity2017 && IOSConsole.WriteLine("版本为Unity2017");#warning 这个版本 不合法#error 这个版本不准执行
#elseConsole.WriteLine("其他版本");
#endif

如果报错会在编译之前就报错,会有红色波浪线,也无法执行

http://www.sczhlp.com/news/10905/

相关文章:

  • 读书笔记:卡片笔记写作法
  • kettle插件-kettle http post plus插件失灵了?继续迭代优化轻松调用公卫高安全系数接口
  • 华为_NAT
  • 发电
  • 华为
  • dp11
  • js字符串内插
  • echarts免费的地址
  • 高级SQL语法问题
  • 【IEEE出版】第五届机械制造与智能控制国际学术会议(ICMMIC 2025)
  • 2025信友队暑假集训记录
  • 282、赤壁
  • 导航
  • Cheat Engine - Charlie
  • git怎么设置http代理服务器
  • 【高录用|快速见刊】第七届土木工程、环境资源与能源材料国际学术会议(CCESEM 2025)
  • 心率投屏小工具丨新奇有趣且实用的直播心跳实时监测小工具
  • Docker Swarm Keepalived Operator:高可用集群虚拟 IP 管理方案
  • 动态规划——初识
  • 2025年数字化社会、信息科学与风险管理国际学术会议(ICDIR 2025)
  • GPT5写5000行代码,行不行?
  • 第四届信息经济、数据建模与云计算国际学术会议(ICIDC2025)
  • 记录C#在Windows11 下使用原生的UWP的 MediaCapture 捕获摄像头画面
  • QT creator UI编辑器使用spacer 控件的bug
  • docker 创建mongo镜像后连接不上的解决方案
  • Nexus上传Jar包
  • 一文读懂《语音转字幕 Speech to Text》:技术亮点与实用优势全盘点
  • SM31101添加对应机台
  • 今日上班
  • 博客园出海记