日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Spectre.Console创建漂亮的控制台应用程序

發(fā)布時間:2023/12/4 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Spectre.Console创建漂亮的控制台应用程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

你是否厭倦了控制臺應(yīng)用程序默認的簡陋界面?

這時,你可以試試引用Nuget包Spectre.Console。

打印使用幫助

首先,我們可以設(shè)置控制臺應(yīng)用程序可以執(zhí)行的命令:

static?async?Task<int>?Main(string[]?args) {var?app?=?new?CommandApp();app.Configure(config?=>{config.AddCommand<DemoCommand>("demo");config.AddCommand<AnotherCommand>("another");});return?await?app.RunAsync(args); }

然后,為每個命令指定參數(shù):

public?class?DemoCommandSettings?:?CommandSettings {[CommandOption("-u|--username")][Description("需要顯示的名稱")]public?string?Name?{?get;?set;?} }

最后,實現(xiàn)命令:

public?class?DemoCommand?:?AsyncCommand<DemoCommandSettings> {public?override?Task<int>?ExecuteAsync(CommandContext?context,?DemoCommandSettings?settings){Console.WriteLine($@"Hello?{settings.Name}!");return?Task.FromResult(0);} }

可以看到,Spectre.Console自動生成了幫助信息,指導(dǎo)用戶如何使用。

與用戶交互

我們還可以運行命令時詢問用戶,進行一定的交互輸入:

var?name?=settings.Name???AnsiConsole.Ask<string>("What's?your?[green]name[/]?"); Console.WriteLine($@"Hello?{name}!");

顯示信息

當我們從用戶那里收集完信息后,可以讓用戶檢查信息,以確保所有信息輸入正確。例如,我們可以以表格格式呈現(xiàn)摘要:

do {name?=?AnsiConsole.Ask<string>("What's?your?[green]name[/]?");var?table?=?new?Table();table.AddColumn("參數(shù)");table.AddColumn(new?TableColumn("值").Centered());table.AddRow("-u",?$@"[green]{name}[/]");AnsiConsole.Write(table); }?while?(!AnsiConsole.Confirm("輸入是否正確?"));

報告進度

在執(zhí)行命令時,可以顯示進度來告訴用戶工作完成的百分比:

await?AnsiConsole.Progress().StartAsync(async?ctx?=>{?var?task1?=?ctx.AddTask("執(zhí)行中......");while?(!ctx.IsFinished){//?模擬工作耗時await?Task.Delay(100);task1.Increment(1);}});

結(jié)論

正如我在開始時提到的,使用Spectre.Console可以創(chuàng)建出漂亮的控制臺應(yīng)用程序,更多功能請參看官方文檔:https://spectreconsole.net/

如果你覺得這篇文章對你有所啟發(fā),請關(guān)注我的個人公眾號”My IO“

總結(jié)

以上是生活随笔為你收集整理的使用Spectre.Console创建漂亮的控制台应用程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。