C# consolekeys字符串C的问题#
我有一个关于这段代码的问题,这段代码只是用来写我正在键入的内容C# consolekeys字符串C的问题#,c#,string,console,char,C#,String,Console,Char,我有一个关于这段代码的问题,这段代码只是用来写我正在键入的内容 ConsoleKeyInfo a = Console.ReadKey(); if (a.Key == ConsoleKey.Spacebar) { Console.Write(" "); } else if (a.Key == ConsoleKey.Enter) { Console.WriteLine(""); } else { string b = a.Key.ToString(); Co
ConsoleKeyInfo a = Console.ReadKey();
if (a.Key == ConsoleKey.Spacebar)
{
Console.Write(" ");
}
else if (a.Key == ConsoleKey.Enter)
{
Console.WriteLine("");
}
else
{
string b = a.Key.ToString();
Console.Write(b);
}
例如,如果我单击d,它会打印:
dD
但是如果我检查
b.Length
它等于1。如果我尝试打印b[0]
它仍在打印dD
。这怎么可能?如何修复它?方法既读取密钥,又将其显示给用户。因此,当您点击“d”时,它显示“d”,返回一个ConsoleKeyInfo
值,然后您的代码显示“d”。这将导致“dD”显示
要停止此过程,请将true
传递到ReadKey
,以防止显示
ConsoleInfo a = Console.ReadKey(true);
ReadKey
方法既读取密钥,又将其显示给用户。因此,当您点击“d”时,它显示“d”,返回一个ConsoleKeyInfo
值,然后您的代码显示“d”。这将导致“dD”显示
要停止此过程,请将true
传递到ReadKey
,以防止显示
ConsoleInfo a = Console.ReadKey(true);
ReadKey
方法既读取密钥,又将其显示给用户。因此,当您点击“d”时,它显示“d”,返回一个ConsoleKeyInfo
值,然后您的代码显示“d”。这将导致“dD”显示
要停止此过程,请将true
传递到ReadKey
,以防止显示
ConsoleInfo a = Console.ReadKey(true);
ReadKey
方法既读取密钥,又将其显示给用户。因此,当您点击“d”时,它显示“d”,返回一个ConsoleKeyInfo
值,然后您的代码显示“d”。这将导致“dD”显示
要停止此过程,请将true
传递到ReadKey
,以防止显示
ConsoleInfo a = Console.ReadKey(true);
它不是打印
dD
,而是打印D
,这是a.Key.ToString()的值。它将它放在d
之后,因此在控制台中它看起来像dD它不是打印dD
,而是打印d
,这是a.Key.ToString()的值。它将它放在d
之后,因此在控制台中它看起来像dD它不是打印dD
,而是打印d
,这是a.Key.ToString()的值。它将它放在d
之后,因此在控制台中它看起来像dD它不是打印dD
,而是打印d
,这是a.Key.ToString()的值。它将代码放在d
之后,因此在控制台中,它看起来像dD
那么我必须将代码放在控制台应用程序中并运行它,然后才能算出:)那么我必须将代码放在控制台应用程序中并运行它,然后才能算出:)嗯,我必须将代码放在控制台应用程序中并运行它:)嗯我必须将代码放入一个控制台应用程序中并运行它,然后才能找到答案:)