首先#有个名字,叫做预处理。
预处理的意思:我们写的语言比如C#,是高级语言,计算机是不认识这个语言的,要想计算机认识,需要把你写的那些代码,编译一下(编译的意思就是翻译成计算机认识的语言),这样计算机就知道自己该干嘛不该干嘛了
那么有些代码我们希望在某些情况下编译,某些情况下你觉得计算机压根不需要知道,不需要执行,浪费时间,浪费感情,这种时候就可以用#来做这个事情。
#if和#endif是一对,比如#if(a==0),那就是,满足这部分条件以后,下面这波代码就开始编译,编译到哪呢?编译到遇见#endif,当然,中间也可以加#else。
#ifdef()和#if defined()是一个意思,例#ifdef(a),就是如果a这玩意存在,咱们就编译下面,如果不存在,就不搞。
#ifndef和#if !defined()是反义词,#ifndef(a)就是不存在a就编译。