C # Статическое приведение символа к строке - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь объявить константный символ для ключа и постоянную строку для сообщения, в котором пользователю предлагается нажать клавишу:

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

Мне нужно явно привести ключевое значение char к строке, поскольку неявное приведение выполняется во время выполнения. Однако я не могу понять, как привести символ к строке во время компиляции. Я видел ToString () в Интернете, но он выполняется во время выполнения и, следовательно, не работает. У меня есть ключ char в качестве отдельной переменной, потому что он используется в программе несколько раз. Кто-нибудь знает, как статически привести символ в строку?

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Вы не можете const string с другими значениями, которые const.

Вы можете попробовать использовать readonly.

readonly может изменять только значения в методе конструктора класса, он будет устанавливать это значение во время выполнения.

private const char KEY = 'r';
private readonly string MSG = "Press " + KEY + " to restart.";
0 голосов
/ 11 ноября 2018

Короткий ответ: вы не можете составить 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.";
...