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呢?还是我做错了什么?
请尽量在不引用枚举的情况下解释它。我知道,这些颜色名称是枚举,但我还不理解枚举转换
您可以使用类型转换:
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; |
工作了!