写一个小的命令行工具,用不同的颜色输出会很好。这可能吗?
当前回答
只是补充上面的答案,所有使用控制台。要改变同一行文本的颜色,可以这样写:
Console.Write("This test ");
Console.BackgroundColor = bTestSuccess ? ConsoleColor.DarkGreen : ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine((bTestSuccess ? "PASSED" : "FAILED"));
Console.ResetColor();
其他回答
是的,这很简单,也有可能。定义第一个默认颜色。
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();
console . clear()对于设置新的控制台颜色很重要。如果不执行此步骤,则在使用Console.ReadLine()请求值时可以看到组合颜色。
然后你可以改变每个打印的颜色:
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Red text over black.");
当完成程序时,记得在完成时重置控制台颜色:
Console.ResetColor();
Console.Clear();
现在对于netcore,我们有另一个问题,如果你想“保留”用户体验,因为终端在每个操作系统上有不同的颜色。
我正在制作一个库,用文本格式解决这个问题:颜色,对齐和更多。请随意使用和贡献。
https://github.com/deinsoftware/colorify/,也可作为NuGet包
Windows/Linux的颜色(深色):
MacOS的颜色(浅色):
是的。请看这篇文章。这里有一个例子:
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");
class Program
{
static void Main()
{
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("White on blue.");
Console.WriteLine("Another line.");
Console.ResetColor();
}
}
从这里拍的。
我开发了一个名为cConsole的有趣的小类库,用于彩色控制台输出。 使用示例:
const string tom = "Tom";
const string jerry = "Jerry";
CConsole.WriteLine($"Hello {tom:red} and {jerry:green}");
它使用c# FormattableString, IFormatProvider和ICustomFormatter接口的一些功能来设置文本切片的前景和背景颜色。 你可以在这里看到cConsole的源代码
是的,可能如下所示。这些颜色可以在控制台应用程序中使用,以红色等方式查看一些错误。
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;//after this line every text will be white on blue background
Console.WriteLine("White on blue.");
Console.WriteLine("Another line.");
Console.ResetColor();//reset to the defoult colour
推荐文章
- 在c#中从URI字符串获取文件名
- 检查SqlDataReader对象中的列名
- 如何将类标记为已弃用?
- c# 8支持。net框架吗?
- Linq-to-Entities Join vs GroupJoin
- 为什么字符串类型的默认值是null而不是空字符串?
- 在list中获取不同值的列表
- 组合框:向项目添加文本和值(无绑定源)
- AutoMapper:“忽略剩下的?”
- 如何为ASP.net/C#应用程序配置文件值中的值添加&号
- 从System.Drawing.Bitmap中加载WPF BitmapImage
- 如何找出一个文件存在于c# / .NET?
- 为什么更快地检查字典是否包含键,而不是捕捉异常,以防它不?
- [DataContract]的命名空间
- string. isnullorempty (string) vs. string. isnullowhitespace (string)