預設模板之缺
**看起來大概是這樣——
using system;
class program
static void main(string args)
console.writeline("hello world!");
面對這如同白紙一樣的模板,如果我們需要捕捉一下異常、呼叫一下非同步方法、記錄一下log呢?勤奮的你一定存有一些常用的經典**片段和配置檔案吧,那就一一複製進來唄……折騰了十來分鐘後,終於可以開始寫**了……
n天之後,又需要新寫個控制台應用了,我們再次重複一遍上述過程。
安裝模板外掛程式
模板便利特性
我們可以直接執行樣例**,也可以將 work 方法中樣例**替換成我們的業務邏輯。樣例**直接執行的效果如下——
使用了 c# 7.1 中新引入的非同步 main 方法,用來放置業務邏輯的 work 方法同樣是非同步的。呼叫非同步方法時,可以直接使用 await 關鍵字,省去了我們之前在同步 main 方法中做同樣操作時附加的 .wait() 甚至是 .configureawait(false).getawaiter().getresult() 的繁瑣。
整體的異常處理,針對 aggregateexception 和 exception 分別進行了捕捉和記錄,並依此設定了 exit code。
stopwatch 測量整體的執行時間並在最後一行日誌中輸出。
修改**頁以支援 utf-8 字元正常顯示,如果需要顯示漢字,在非中文的 windows 中還需要額外地將 cmd.exe 的預設字型設定為 mingliu / 新細明體 或其他cjk字型。
此外,無論是 .net core 還是 .net framework 版本的 csproj 檔案都採用了 msbuild 15.0 新引入的 project sdk 格式。新的格式不僅更簡單清爽,也帶來了很多方便的特性,這裡不再贅述。
相關需求解法
在模板的基礎上,如果需要解析複雜的命令列引數,可以考慮引入 nuget 包 commandline.net 進行解析。它的使用方法非常簡單,github 專案的一頁 readme 便已闡述清楚,亦支援跨平台。
反之,如果僅僅想執行幾行**,又不願等 visual studio 啟動呢?可以用瀏覽器開啟 .net fiddle 直接嘗試,它不僅支援最新的 .net framework 4.7.2 版本,還可以選擇 roslyn 2.0,而且在 c# 之外支援 f# 和 vb.net。
超好用的C 控制台應用模板
預設模板之缺 看起來大概是這樣 using system 面對這如同白紙一樣的模板,如果我們需要捕捉一下異常 呼叫一下非同步方法 記錄一下log呢?勤奮的你一定存有一些常用的經典 片段和配置檔案吧,那就一一複製進來唄 折騰了十來分鐘後,終於可以開始寫 了 n天之後,又需要新寫個控制台應用了,我們再次...
C 控制台輸出
建立console應用程式 using system using system.collections.generic using system.linq using system.text namespace byte 資料型別 byte 變數以無符號的 8 位 1 個位元組 數字的形式儲存,取值...
C 控制台 《迷宮》
最近閒來無事,回顧一下以前學過的c 控制台小程式,特發此篇 主體思路 利用二維陣列來實現。效果圖 首先 vs2010,建立控制台程式,然後,新增類labyrinth,該類的 如下,1 using system 23 namespace迷宮4 9 10 11 12 13 14 15 16 17 18 ...