C# 如何規(guī)范的寫(xiě) DEBUG 輸出
經(jīng)常在代碼中,需要使用 DEBUG 來(lái)輸出一些奇怪的東西來(lái)進(jìn)行測(cè)試。但是輸出的窗口只有一個(gè),如果有一個(gè)逗比在不停輸出,那么就會(huì)讓輸出窗口看不到自己的內(nèi)容。
Task.Run(() => { while (true) { Console.WriteLine("我是逗比"); } }); Console.WriteLine("有用的信息");
于是逗比喜歡自己的測(cè)試代碼,因?yàn)樗枰煌?吹捷敵龃翱谠谡f(shuō)自己,但是正常的程序員是只看有用的東西,所以他就會(huì)拿出刀子準(zhǔn)備殺掉逗比。那么逗比如何防止自己被殺,他這時(shí)就告訴程序員,注釋掉代碼
Task.Run(() => { while (true) { //Console.WriteLine("我是逗比"); } }); Console.WriteLine("有用的信息");
但是程序員注釋了,也沒(méi)有什么作用,因?yàn)槎罕仍诤芏鄠€(gè)地方寫(xiě)了這樣的代碼
Task.Run(() => { while (true) { //Console.WriteLine("我是逗比"); } }); Console.WriteLine("有用的信息"); Task.Run(() => { while (true) { Console.WriteLine("我是逗比 1"); } });
終于程序員注釋所有的代碼,可以運(yùn)行了,但是逗比拿到程序員的代碼,發(fā)現(xiàn)沒(méi)有輸出了,這時(shí)他又不高興了,于是逗比去掉了所有的注釋?zhuān)瑴?zhǔn)備在上傳代碼的時(shí)候再把代碼注釋。但是不小心,有一個(gè)地方?jīng)]有注釋了,所以還是被程序員打了。
那么逗比需要如何防止被程序員打?下面我就來(lái)告訴一個(gè)方法,使用 #if
一般在代碼會(huì)看到這樣的寫(xiě)法
Task.Run(() => { while (true) { # if DEBUG Console.WriteLine("我是逗比"); # endif } });
但是這樣的寫(xiě)法是不對(duì)的,因?yàn)?DEBUG 只有在所有開(kāi)發(fā)者在測(cè)試都需要使用的代碼才使用他。如果是自己使用的,一般都自己定義。那么如何定義?需要在文件的開(kāi)始寫(xiě)下面的代碼
# define DEBUG_取消注釋顯示林德熙調(diào)試 using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Threading.Tasks; using lindexi.framework.mvvm; using lindexi.controls; using lindexi.linq;
定義的格式是 DEBUG_取消注釋 后面加上功能
現(xiàn)在的代碼就可以修改為
Task.Run(() => { while (true) { # if DEBUG_取消注釋顯示林德熙調(diào)試 Console.WriteLine("我是逗比"); # endif } });
于是所有的我自己使用的都使用這個(gè)方法,只需要注釋掉我的定義就可以去掉所有我的代碼。這樣就不需要一個(gè)個(gè)去注釋?zhuān)乙话氵@句代碼在上傳代碼的時(shí)候就去掉。
但是這個(gè)方法有個(gè)缺點(diǎn),在他的作用只能在一個(gè)文件,如果有多個(gè)文件都需要寫(xiě)自己的代碼,那么還是需要在多個(gè)文件上添加這句話,如果在上傳代碼的時(shí)候不記得把所有的文件進(jìn)行注釋?zhuān)敲催€是會(huì)被打。
總結(jié)
以上所述是小編給大家介紹的C# 如何規(guī)范的寫(xiě) DEBUG 輸出問(wèn)題,希望對(duì)大家有所幫助!
上一篇:C# Soap調(diào)用WebService的實(shí)例
欄 目:C#教程
本文標(biāo)題:C# 如何規(guī)范的寫(xiě) DEBUG 輸出
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5325.html
您可能感興趣的文章
- 01-10C#通過(guò)反射獲取當(dāng)前工程中所有窗體并打開(kāi)的方法
- 01-10關(guān)于ASP網(wǎng)頁(yè)無(wú)法打開(kāi)的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#停止線程的方法
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動(dòng)新聞效果的方法
- 01-10C#通過(guò)重寫(xiě)Panel改變邊框顏色與寬度的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法
- 01-10C#實(shí)現(xiàn)多線程下載文件的方法


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10C#通過(guò)反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁(yè)無(wú)法打開(kāi)的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻 器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過(guò)重寫(xiě)Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 04-02jquery與jsp,用jquery