using System;
class MainClass {
public static void Main (string[] args) {
Console.WriteLine("Press any key to continue...");
Console.WriteLine(" key pressed", Console.ReadKey());
}
}
этот код работает и не имеет ошибок, но
using System;
class MainClass {
public static void Main (string[] args) {
Console.WriteLine("Press any key to continue...");
Console.WriteLine(Console.ReadKey(), " key pressed");
}
}
не работает и выдает мне ошибка CS1502: наилучший метод перегрузки для System.Console.WriteLine (строка) , object) 'содержит недопустимые аргументы и error CS1503: Arugement' # 1 'не может преобразовать выражение' System.ConsoleKeyInfo 'в тип' string '. Я новичок в c#, поэтому я не знаю много о языке (раньше его использовали только python), но в python я бы написал этот код как
keyPressed = input("Type a key(s) ")
print(keyPressed, "is the key(s) you pressed")
Я также могу просто присвоить ReadKey () переменной
var keyPressed = Console.ReadKey();
Console.WriteLine("the key you pressed was {0}", keyPressed);
Для приведенного выше блока кода я хочу, чтобы любая клавиша, которую нажимает пользователь, сохранялась в переменной keyPressed, но она не работает.
Мой вопрос заключается в том, почему вы не можете поместить Console.ReadKey () перед текстом, который я хочу отобразить на консоли, или назначить Console.ReadKey () для переменной, и как бы вы могли использовать любой ключ пользователя нажатия назначены переменной?