为什么不能将Console.ReadKey()放在显示给控制台的文本前面,还是不能将Console.ReadKey()分配给变量?

问题描述 投票:-1回答:2
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(string,object)'的最佳重载方法匹配有一些无效的论点错误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()分配给变量,以及您将如何分配用户按下的任何键到变量?

使用系统; class MainClass {public static void Main(string [] args){Console.WriteLine(“按任意键继续...”); Console.WriteLine(“ key按下”,Console.ReadKey()); }} ...

c# variables console.writeline console.readkey
2个回答
0
投票

您可以,但是您需要以这种方式使用它


0
投票

您正在使用方法Console.WriteLine(),该方法具有

© www.soinside.com 2019 - 2024. All rights reserved.