C#開(kāi)發(fā)交互式命令行應(yīng)用示例
前言
如果你開(kāi)發(fā)過(guò)vue應(yīng)用,應(yīng)該對(duì)其交互式命令行印象深刻:
它允許你無(wú)需任何編程經(jīng)驗(yàn),僅需回答問(wèn)題,就可完成vue應(yīng)用創(chuàng)建。
雖然作為.NETer,大部分情況下我們不會(huì)使用命令行,但是還是希望能用C#開(kāi)發(fā)出這樣的交互式命令行應(yīng)用,比如代碼生成器。
Sharprompt介紹
Sharprompt是一個(gè)基于C#的交互式命令行應(yīng)用框架,具有如下特點(diǎn):
- 多平臺(tái)支持
- 支持常用的提示方式(普通輸入/密碼/選擇項(xiàng)等)
- 支持基于模型的提示(預(yù)覽中)
- 輸入值的驗(yàn)證
- 使用枚舉值自動(dòng)生成數(shù)據(jù)源
- 可定制的符號(hào)和顏色模式
- Unicode 支持(多字節(jié)字符和表情符號(hào)????)
它提供了下列常用API:
Prompt.Input 簡(jiǎn)單的輸入提示,返回指定類(lèi)型數(shù)據(jù)
Prompt.Password 輸入密碼提示
Prompt.Confirm確認(rèn)提示,返回bool值
Prompt.Select 單選提示
Prompt.ColorSchema 指定配色方案
更多API說(shuō)明請(qǐng)參看官方文檔:
https://github.com/shibayan/Sharprompt
Demo
下面就來(lái)演示,如何使用Sharprompt生成一個(gè)交互式命令行應(yīng)用。
代碼如下:
Console.OutputEncoding = Encoding.UTF8; Prompt.ColorSchema.Select = ConsoleColor.DarkCyan; var type = Prompt.Select("數(shù)據(jù)庫(kù)類(lèi)型", new[] { "Oracle", "SQL Server", "MySQL", "PostgreSQL", "MariaDB" },defaultValue: "MySQL", pageSize: 3); var server = Prompt.Input<string>("服務(wù)地址"); Prompt.ColorSchema.Answer = ConsoleColor.DarkRed; var name = Prompt.Input<string>("用戶(hù)名"); var password = Prompt.Password("密碼"); Console.WriteLine($"你輸入的是 {type} {server} {name} {password}"); var confirm = Prompt.Confirm("繼續(xù)嗎"); Console.WriteLine($"你的選擇是 {confirm}!");
結(jié)論
可以看到,使用Sharprompt在C#中開(kāi)發(fā)交互式控制臺(tái)應(yīng)用程序是多么容易
以上就是C#開(kāi)發(fā)交互式命令行應(yīng)用示例的詳細(xì)內(nèi)容,更多關(guān)于C#開(kāi)發(fā)交互式命令行的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Unity3D使用鼠標(biāo)旋轉(zhuǎn)縮放平移視角
這篇文章主要為大家詳細(xì)介紹了Unity3D使用鼠標(biāo)旋轉(zhuǎn)縮放平移視角,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07C#讀寫(xiě)配置文件方式(config.ini)入門(mén)
這篇文章主要介紹了C#讀寫(xiě)配置文件方式(config.ini)入門(mén),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06http圖片上傳安全性問(wèn)題 根據(jù)ContentType (MIME) 判斷其實(shí)不準(zhǔn)確、不安全
圖片上傳常用的類(lèi)型判斷方法有這么幾種---截取擴(kuò)展名、獲取文件ContentType (MIME) 、讀取byte來(lái)判斷(這個(gè)什么叫法來(lái)著?)。下面由腳本之家小編跟大家分享圖片上傳安全性問(wèn)題,感興趣的朋友一起看看吧2015-09-09C#使用Protocol Buffer(ProtoBuf)進(jìn)行Unity中的Socket通信
這篇文章主要介紹了C#使用Protocol Buffer(ProtoBuf)進(jìn)行Unity的Socket通信的實(shí)例,Protocol Buffer是Google開(kāi)發(fā)的數(shù)據(jù)格式,也是除了XML和JSON之外人氣第三高的^^需要的朋友可以參考下2016-04-04