使用C#开发交互式命令行应用
生活随笔
收集整理的這篇文章主要介紹了
使用C#开发交互式命令行应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
如果你開發過vue應用,應該對其交互式命令行印象深刻:
它允許你無需任何編程經驗,僅需回答問題,就可完成vue應用創建。
雖然作為.NETer,大部分情況下我們不會使用命令行,但是還是希望能用C#開發出這樣的交互式命令行應用,比如代碼生成器。
Sharprompt介紹
Sharprompt是一個基于C#的交互式命令行應用框架,具有如下特點:
多平臺支持
支持常用的提示方式(普通輸入/密碼/選擇項等)
支持基于模型的提示(預覽中)
輸入值的驗證
使用枚舉值自動生成數據源
可定制的符號和顏色模式
Unicode 支持(多字節字符和表情符號😀🎉)
它提供了下列常用API:
Prompt.Input
簡單的輸入提示,返回指定類型數據
Prompt.Password
輸入密碼提示
Prompt.Confirm
確認提示,返回bool值
Prompt.Select
單選提示
Prompt.ColorSchema
指定配色方案
更多API說明請參看官方文檔:https://github.com/shibayan/Sharprompt
Demo
下面就來演示,如何使用Sharprompt生成一個交互式命令行應用。
代碼如下:
Console.OutputEncoding?=?Encoding.UTF8;Prompt.ColorSchema.Select?=?ConsoleColor.DarkCyan; var?type?=?Prompt.Select("數據庫類型",?new[]?{?"Oracle",?"SQL?Server",?"MySQL",?"PostgreSQL",?"MariaDB"?},defaultValue:?"MySQL",?pageSize:?3);var?server?=?Prompt.Input<string>("服務地址");Prompt.ColorSchema.Answer?=?ConsoleColor.DarkRed;var?name?=?Prompt.Input<string>("用戶名");var?password?=?Prompt.Password("密碼");Console.WriteLine($"你輸入的是?{type}?{server}?{name}?{password}");var?confirm?=?Prompt.Confirm("繼續嗎"); Console.WriteLine($"你的選擇是?{confirm}!");結論
可以看到,使用Sharprompt在C#中開發交互式控制臺應用程序是多么容易!
總結
以上是生活随笔為你收集整理的使用C#开发交互式命令行应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#中使用opencv处理图像
- 下一篇: 如何在 .NETCore 中修改 Que