天轰穿C#教程之#line介绍-飞外

在错误列表中,每一个错误或者警告后面都有详细的显示了具体报错的是某个项目中的某个檔,多少行,多少列。这个整下我这样的新手,还成。不过效果不是很明显。

小天:额…老田,你太坏了。不过,我觉得你很坏,但是C#不坏,你看,在错误列表中,每一个错误或者警告后面都有详细的显示了具体报错的是某个项目中的某个檔,多少行,多少列。这个整下我这样的新手,还成。不过效果不是很明显。

老田:真的吗?嘿嘿,我就在上面的例题中再增加一行代码,仅仅是一行代码哦。增加的代码如下

#line 300 "Wahaha.cs" //这一行是新增的

#if debug debug1

#error "大哥,你长滴这么抽象,还写啥程序呢?本编译器没兴趣为你服务!"

#endif

#warning "尊敬的用户,由于您的长相欠佳,本编译器很不满!"

接着我们F5调试来看下效果,如图2-8

图2-8使用#line指令改变错误或者警告的位置

小天:太狠了,真是太狠了。祈祷所有同时看这本书的都是善良的孩子,不要被老田给教坏了吧。不过既然C#弄出这个指令,我想肯定不是为了让我们闹着玩的吧?

老田:当然不是,虽然这个指令的用处非常少(会者定离一期一祈是啥意思?会者定离,一期一祈是指经常会面的人必有离散之时。意思是说世事无常,没有不散的宴席。这两句话总的来说,就是说世事无常,当珍惜遇见的人,把和每个人相遇,当作一生只有一次的缘分。),不过就像混淆IL代码一样,可能在特殊的情况下,我们需要使某些软件包改变键入的代码。

要改回原来的正确信息提示有两个办法,可以恢复默认。第一个当然是删除这个捣乱的代码,另外一个就是将#line指令后面的行号和文件名用default关键词替代,如下

#line 300 "Wahaha.cs" //这一行是新增的

#line default //这一行是接着增加的,用于恢复默认行号和文件名

#if debug debug1

#error "大哥,你长滴这么抽象,还写啥程序呢?本编译器没兴趣为你服务!"

#endif

#warning "尊敬的用户,由于您的长相欠佳,本编译器很不满!"

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