• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

天轰穿C#教程之#if、#elif、#else和#endif

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  老田:但看这个申明符号确实没有什么用。不过当它和#if、#elif、#else、#endif这些预处理指令结合起来之后,它的功能就非常强大了。

  

  来看个示例:

  

  #define debug  //尝试注释和取消注释这一句,然后运行程序看效果

  

  using System;

  

  using System.Collections.Generic;

  

  using System.Linq;

  

  using System.Text;

  

  namespace第二章_示例

  

  {

  

  classProgram

  

  {

  

  staticvoid Main(string[] args)

  

  {

  

  #if debug

  

  Console.WriteLine("确实申明了debug这个符号");

  

  Console.ReadLine();

  

  #else

  

  Console.WriteLine("切,都没有申明");

  

  Console.ReadLine();

  

  #endif

  

  }

  

  }

  

  }

  

  执行后效果如图2-6

 

  

  图2-6代码输入情况以及执行结果

  

  小天:上面示例演示的效果是,如果前面申明了debug这个符号,那么最终效果会显示"确实申明了debug这个符号",如果将前面申明符号的语句注释掉,则结果为"切,都没有申明"。可是,这能够说明什么呢?有什么用啊?

  

  老田:好好回忆下前面我们说的,是否是说预处理指令的作用就是影响编译器?换句话说,在上面你看到未显示的代码最终也不会被编译器编译。不会被编译到程序,那么程序的体积自然不会因为这段代码而增大了。

  

  另外需要注意的是,如果使用#if,那么一定记得使用#endif来关闭哦,因为编译器认为从#if开始后到#endif之间的代码都是属于#if或者#else的。如果忽略那一段,那么久"噢嘢"了。

  

  小天:明白了,娜还有个#elif是什么意思?

  

  老田:这不知道是哪个懒人发明的,#elif = else if 。同时,#if这系列判断也支持逻辑运算符!、==、!= 。下面我们来修改上面的代码。再申明一个符号debug1,下面的判断也增加一个,代码如下

  

  #define debug  //尝试注释和取消注释这一句,然后运行程序看效果

  

  #define debug1 //第二个示例用的

  

  using System;

  

  using System.Collections.Generic;

  

  using System.Linq;

  

  using System.Text;

  

  namespace第二章_示例

  

  {

  

  classProgram

  

  {

  

  staticvoid Main(string[] args)

  

  {

  

  #if debug  && debug1==false    //如果debug存在,同时debug1不存在

  

  Console.WriteLine("确实申明了debug这个符号");

  

  Console.ReadLine();

  

  #elif debug1  //如果debug不存在,而debug1存在

  

  Console.WriteLine("不错哦,又申明了一个");

  

  Console.ReadLine();

  

  #else//如果两个都不存在

  

  Console.WriteLine("切,都没有申明");

  

  Console.ReadLine();

  

  #endif

  

  }

  

  }

  

  }

  

  猜猜上面的代码会显示哪一个结果。

  

  本文为天轰穿原著,转载请注明出处及作者!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C语言多线程发布时间:2022-07-13
下一篇:
【转】C#中检查网络是否连通的二种方法发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap