C#学习笔记:预处理指令
C#和C/C++一样,也支持预处理指令,下面我们来看看C#中的预处理指令。
#region
代码折叠功能,配合#endregion使用,如下:
点击后如下:
条件预处理
条件预处理可以根据给出的条件决定最终进行编译的代码,换句话说可以排除掉指定的代码不进行编译。
#define
定义一个宏,注意只要定义名称就行了,不需要值。
一般会把宏定义写在第一行。
#define IOS
这样就表示IOS这个宏被定义出来了。
#undef
取消一个宏定义,如下:
#undef IOS
这样可以取消IOS这个宏定义。
#if、#else、#elif、#endif
具体使用的指令,下面给出示例:

1 #define ANDROID
2 #define IOS
3 #undef IOS
4
5 using System;
6
7 namespace Study
8 {
9 class Program
10 {
11 static void Main(string[] args)
12 {
13
14 #if ANDROID
15 Console.WriteLine("Android 平台的代码写这里。");
16 #elif IOS
17 Console.WriteLine("IOS 平台的代码写这里。");
18 #else
19 Console.WriteLine("其他平台的代码写这里。");
20 #endif
21
22 Console.Read();
23 }
24 }
25 }

而在Unity中,已经对对应的平台和版本定义了相应的宏,可以查看下面的链接:
http://docs.unity3d.com/Manual/PlatformDependentCompilation.html
#warning、#error
这两个指令可以使编辑器进行警告和报错,一般和条件指令搭配,用于调试。
1 #warning 这里不应该这么写!
2 #error 这里这么写是错误的!
#line
配合#warning和#error使用,可以设置报错或警告的具体行数。
1 //200 行的问题
2 #line 200 "可选的文件名,表示具体有问题的文件,不用加后缀名。"
3 //恢复行数为当前行数
4 #line default
#pragma
这个指令可以通过我们自己扩展来完成特定的功能,这里就不多讲,给大家一个文章链接:
http://blog.csdn.net/jx_kingwei/article/details/367312
C#学习笔记:预处理指令的更多相关文章
- Docker技术入门与实战 第二版-学习笔记-3-Dockerfile 指令详解
前面已经讲解了FROM.RUN指令,还提及了COPY.ADD,接下来学习其他的指令 5.Dockerfile 指令详解 1> COPY 复制文件 格式: COPY <源路径> .. ...
- 重温JSP学习笔记--三大指令九大内置对象
最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: ...
- VUE 学习笔记 一 指令
1.声明式渲染 v-bind 特性被称为指令.指令带有前缀 v-,以表示它们是 Vue 提供的特殊特性 <div id='app'> <span v-bind:title=" ...
- linux学习笔记1——指令的基本格式及基本文件操作
从今天开始就正式踏上了linux的学习历程.linux作为绝大多数服务器采用的操作系统,是每个开发人员都非常有必要掌握的操作系统.初学时,我没有直接在电脑上安装linux操作系统,而是采用了虚拟机的方 ...
- Vue2学习笔记:v-show指令
v-show指令:v-show="true/false" 控制元素显示/隐藏 1.使用 <!DOCTYPE html> <html> <head> ...
- Vue2学习笔记:v-model指令
1.v-model指令 <!DOCTYPE html> <html> <head> <title></title> <script s ...
- Ionic学习笔记3_ionic指令简单布局
1) 添加引用类库(ionic样式和ionic js文件) 2) 标题栏,页脚栏,内容区 3) Js引入ionic类库,添加页面操作方法和对象 4) 数据初始化 5) Html页面 ...
- angularjs学习笔记—事件指令
ngClick 适用标签:所有触发条件:单击 #html <div ng-controller="LearnCtrl"> <div ng-click=" ...
- Hadoop学习笔记——入门指令操作
假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop. 启动与关闭启动HADOOP1. 进入HADOOP_HOME目录. 2. 执行sh bin/start-all. ...
- Vue2学习笔记:v-for指令
1.使用 <!DOCTYPE html> <html> <head> <title></title> <meta charset=&q ...
随机推荐
- 【linux】sed -e 's/-//g'
sed是用来处理文本的 s/正则表达式/替换字符串/ :表示将正则表达式的内容替换为后面的字符串 g :表示替换全部,即如果不加g,则只会替换第一个 -e :多点编辑(这个没懂) 例 ...
- PHP中curl模拟post上传及接收文件
public function Action_Upload(){ $this->path_config(); exit(); $furl="@d:\develop\JMFramewor ...
- C++Primer #7 类
类的定义 简单的来说类就是数据和它的操作的一种封装,内部提供接口函数 类的成员函数的声明必须在类的内部,而它的定义则既可以放在类的内部也可以放在类的外部.(一般在类内进行声明,类外实现函数定义) 定义 ...
- [图解算法] 二分查找Binary-Search——<递归与分治策略>
#include"iostream.h" int BinarySearch(int a[],int left,int right,const int& x) { if(le ...
- 镜像文件挂载及本地yum搭建
环境:centos7.2 背景:企业内网不能上网,需安装软件以及软件之间的依赖问题 解决方案:下载和企业内网服务器相同版本的centos7.2镜像文件完整版(不是最小化的iso) 挂载镜像文件 1.上 ...
- 【AtCoder】ARC103
C - //// 为了防止一些多余的判断,我选择直接记录每个数的个数,然后枚举第一个数,找第一个数之外第二个数改变最少的情况下应该选什么 代码 #include <bits/stdc++.h&g ...
- 7-12 The Rotation Game IDA*
状态搜索题目 一开始打算用bfs 但是图给的不是矩形图 有点难以下手 参考了 lrj 将图上所有的点进行标号 直接一个一维数组就解决了图的问题 并且明确了每个点的标号 处理起来十分方 ...
- Class PropertyPlaceholderHelper的使用
1.代码 private static Properties properties = new Properties(); public static String getProperties(Str ...
- css3中的伪类选择器
一.动态伪类 动态伪类,因为这些伪类并不存在于HTML中,而只有当用户和网站交互的时候才能体现出来,动态伪类包含两种,第一种是我们在链接中常看到的锚点伪类,如":link",&qu ...
- Javascript中DOM详解与学习
DOM(文档对象模型)是针对html和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次化的节点树,允许开发人员添加,移除和修改页面的某一部分.下面将从这几个层次来学习. 一.节点层次 ...