做过.NET控制台应用程序的同学应该都知道原生的.NET控制台应用程序输出的内容都比较的单调,假如要编写漂亮且美观的控制台输出内容或者样式可能需要花费不少的时间去编写代码和调试。今天大姚给大家分享一个.NET开源且免费的类库帮你轻松的创建漂亮、美观的.NET控制台应用程序:Spectre.Console。
创建一个名为:SpectreExercise
的控制台应用。
在NuGet包管理器中搜索:Spectre.Console
点击安装。
Console.WriteLine("你好追逐时光者!!!");
复制
AnsiConsole.Markup("[underline red]你好[/][Blue]追逐时光者[/][DarkMagenta]!!![/]");
复制
#region 创建表 // 创建表 var table = new Table(); //添加一些列 table.AddColumn("[red]编号[/]"); table.AddColumn("[green]姓名[/]"); table.AddColumn("[blue]年龄[/]"); //添加一些行 table.AddRow("1", "追逐时光者", "20岁"); table.AddRow("2", "大姚", "22岁"); table.AddRow("3", "小袁", "18岁"); table.AddRow("4", "小明", "23岁"); // 将表格渲染到控制台 AnsiConsole.Write(table); #endregion
复制
使用 BarChart 将条形图呈现到控制台。
#region 条形图 AnsiConsole.Write(new BarChart() .Width(60) .Label("[green bold underline]水果数量[/]") .CenterLabel() .AddItem("苹果", 12, Color.Yellow) .AddItem("西瓜", 54, Color.Green) .AddItem("香蕉", 33, Color.Red) .AddItem("芒果", 55, Color.Blue)); #endregion
复制
//日历 var calendar = new Calendar(2024, 5); AnsiConsole.Write(calendar);
复制
使用 Layout 在终端中布局小部件。
#region 布局// Create the layoutvar layout = new Layout("Root") .SplitColumns( new Layout("Left"), new Layout("Right") .SplitRows( new Layout("Top"), new Layout("Bottom")));// Update the left columnlayout["Left"].Update( new Panel( Align.Center( new Markup("[blue]你好![/]"), VerticalAlignment.Middle)) .Expand());// Render the layoutAnsiConsole.Write(layout);#endregion
复制
var rule = new Rule("[red]Hello[/]"); AnsiConsole.Write(rule); var ruleLeft = new Rule("[blue]Hello[/]"); ruleLeft.Justification = Justify.Left; AnsiConsole.Write(ruleLeft); var ruleRight = new Rule("[yellow]Hello[/]"); ruleRight.Justification = Justify.Right; AnsiConsole.Write(ruleRight);
复制
更多项目实用功能和特性欢迎前往项目开源地址查看👀,别忘了给项目一个Star支持💖。
该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。