C#開發(fā)交互式命令行應(yīng)用示例
前言
如果你開發(fā)過vue應(yīng)用,應(yīng)該對其交互式命令行印象深刻:
它允許你無需任何編程經(jīng)驗,僅需回答問題,就可完成vue應(yīng)用創(chuàng)建。
雖然作為.NETer,大部分情況下我們不會使用命令行,但是還是希望能用C#開發(fā)出這樣的交互式命令行應(yīng)用,比如代碼生成器。
Sharprompt介紹
Sharprompt是一個基于C#的交互式命令行應(yīng)用框架,具有如下特點:
- 多平臺支持
- 支持常用的提示方式(普通輸入/密碼/選擇項等)
- 支持基于模型的提示(預(yù)覽中)
- 輸入值的驗證
- 使用枚舉值自動生成數(shù)據(jù)源
- 可定制的符號和顏色模式
- Unicode 支持(多字節(jié)字符和表情符號????)
它提供了下列常用API:
Prompt.Input 簡單的輸入提示,返回指定類型數(shù)據(jù)
Prompt.Password 輸入密碼提示
Prompt.Confirm確認提示,返回bool值
Prompt.Select 單選提示
Prompt.ColorSchema 指定配色方案
更多API說明請參看官方文檔:
https://github.com/shibayan/Sharprompt
Demo
下面就來演示,如何使用Sharprompt生成一個交互式命令行應(yīng)用。
代碼如下:
Console.OutputEncoding = Encoding.UTF8; Prompt.ColorSchema.Select = ConsoleColor.DarkCyan; var type = Prompt.Select("數(shù)據(jù)庫類型", 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>("用戶名"); var password = Prompt.Password("密碼"); Console.WriteLine($"你輸入的是 {type} {server} {name} {password}"); var confirm = Prompt.Confirm("繼續(xù)嗎"); Console.WriteLine($"你的選擇是 {confirm}!");
結(jié)論
可以看到,使用Sharprompt在C#中開發(fā)交互式控制臺應(yīng)用程序是多么容易
以上就是C#開發(fā)交互式命令行應(yīng)用示例的詳細內(nèi)容,更多關(guān)于C#開發(fā)交互式命令行的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
http圖片上傳安全性問題 根據(jù)ContentType (MIME) 判斷其實不準確、不安全
圖片上傳常用的類型判斷方法有這么幾種---截取擴展名、獲取文件ContentType (MIME) 、讀取byte來判斷(這個什么叫法來著?)。下面由腳本之家小編跟大家分享圖片上傳安全性問題,感興趣的朋友一起看看吧2015-09-09C#使用Protocol Buffer(ProtoBuf)進行Unity中的Socket通信
這篇文章主要介紹了C#使用Protocol Buffer(ProtoBuf)進行Unity的Socket通信的實例,Protocol Buffer是Google開發(fā)的數(shù)據(jù)格式,也是除了XML和JSON之外人氣第三高的^^需要的朋友可以參考下2016-04-04