关于控制台:c使用consolecolor作为int

c# use ConsoleColor as int

本问题已经有最佳答案,请猛点这里访问。

有什么方法可以使用控制台颜色作为它们的整数吗?喜欢

1
Console.ForeGroundColor = 10; //ConsoleColor.Green has the Value of 10

但我只能用

1
Console.ForeGroundColor = ConsoleColor.Green; //when hovering over"Green" Visual Studio even shows me that Green is 10

我在注册表(hkey_current_user/console)中找到了这些颜色ints,其中ints有颜色的十六进制代码,但没有名称的位置(我可以将绿色值更改为橙色,并返回默认值,但这并不重要)。那么,为什么C或Visual Studio不让我使用ints呢?还是我做错了什么?

请尽量在不引用枚举的情况下解释它。我知道,这些颜色名称是枚举,但我还不理解枚举转换


ConsoleColorenum而不是int,不能将类型int隐式转换为它。

您可以使用类型转换:

1
2
int x = 10;
Console.ForegroundColor = (ConsoleColor)x;

1
Console.ForegroundColor = (ConsoleColor)10;

将int强制转换为c中的枚举#

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/enumeration-types


我用对比2017:我写过

1
2
Console.ForegroundColor = (ConsoleColor)10;
Console.ForegroundColor = (ConsoleColor)12;

工作了!