C# 将字符静态转换为字符串

C# Static cast char to string

我正在尝试声明一个常量 char 来保存一个键,并声明一个常量字符串来保存一条消息,告诉用户按下该键:

...
private const KEY = 'r';
private const string MSG = "Press " + KEY + " to restart.";
...

我需要将键字符显式转换为字符串,因为隐式转换是在运行时完成的。但是,我想不出在编译时将字符转换为字符串的方法。我在 Internet 上看到过 ToString(),但它是在运行时执行的,因此不起作用。我将键 char 作为一个单独的变量,因为它在程序中多次使用。有人知道如何将字符静态转换为字符串吗?

简短的回答是你不能用 string 片段以外的任何东西组成 string

不过你有几个选择。您可以将两个常量设为 string 类型:

private const string KEY = "r";
private const string MSG = "Press " + KEY + " to restart.";

另一种选择是在运行时编写 string

private const char KEY = 'r';
private static string MSG => "Press " + KEY + " to restart.";

您不能 const string 使用其他值 const

您可以尝试使用readonly

readonly只能修改class构造方法中的值,它会在运行时设置那个值。

private const char KEY = 'r';
private readonly string MSG = "Press " + KEY + " to restart.";