C#的預(yù)處理指令是一個很好的功能 , 比如你的這個系統(tǒng)可能在Windows , IOS , ANDROID等等上面運行 , 你不會是想要告訴我開發(fā)3個甚至更多的系統(tǒng)分別為他們服務(wù)吧 ? 實際上, 他們的功能都是一樣的 , 只是細(xì)微的實現(xiàn)方式不一樣 , 想想看 !??!也許你會說 , 做一個全局控制的狀態(tài)機(jī) , 修改狀態(tài)來實現(xiàn)控制平臺的效果 , 沒錯 , 這個可以做 , 可以實現(xiàn) 。 但是你把這個系統(tǒng)放在Windows上那么IOS , ANDROID 等功能都在里面只是永遠(yuǎn)不會執(zhí)行 , 這不僅導(dǎo)致系統(tǒng)大 , 而且還沒必要的消耗了內(nèi)存。完美的解決方案就是C#的預(yù)處理指令 , 先來一段代碼 :
站在用戶的角度思考問題,與客戶深入溝通,找到景泰網(wǎng)站設(shè)計與景泰網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名與空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋景泰地區(qū)。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Mymc { class Program { //a ss = new a(); static void Main(string[] args) { #if (A) Console.WriteLine("A"); #elif (B) Console.WriteLine("B"); #else Console.WriteLine("C"); #endif #if (WEB_PLAYER) Console.WriteLine("這是網(wǎng)頁游戲"); #elif (IOS_PLAYER) Console.WriteLine("Apple平臺"); #elif (ANDROID_PLAYER) Console.WriteLine("安卓平臺"); #else Console.WriteLine("其他平臺"); #endif #if DEBUG Console.WriteLine("處于Debug模式"); #endif Console.ReadLine(); } } }
傳統(tǒng)的方式是這樣的 : 看下面
用#define但是這個有個缺陷 : 你做的每一個類如果要有區(qū)分的話都要加 : #define WEB_PLAYER , 累死你 。我們可以不加這 , 用VS編譯的時候加 。 方案如下 :先上圖
在項目上右擊->屬性 , 在“生成”中可以配置 這些全局的#define , 在C++應(yīng)該叫宏吧。相當(dāng)于宏
注意 : Q 和 WEB_PLAYER 中間用; 隔開
看下結(jié)果 :
測過都OK了
分享名稱:C#的預(yù)處理指令的全局設(shè)計
地址分享:http://muchs.cn/article2/jooeic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、App開發(fā)、外貿(mào)建站、域名注冊、網(wǎng)站建設(shè)、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)