C# 在新行上显示键入的字符
可能是个有趣的问题,我是C语言的新手# 我希望在键入任何字符后,这些字符将被写入console中的新行,尽管它们是打印在一行上的。我错在哪里 附言 这将按预期显示:C# 在新行上显示键入的字符,c#,C#,可能是个有趣的问题,我是C语言的新手# 我希望在键入任何字符后,这些字符将被写入console中的新行,尽管它们是打印在一行上的。我错在哪里 附言 这将按预期显示: ASD DSA Console.ReadLine()方法不会终止该行(正如您可能期望的那样)。MSDN的一句话: 行定义为后跟一个回车的字符序列 返回(十六进制0x000d)、换行符(十六进制0x000a)或 Environment.NewLine属性的值。返回的字符串不存在 不包含终止字符 所以你只需要把没有终止的行打印出来 来
ASD
DSA
Console.ReadLine()
方法不会终止该行(正如您可能期望的那样)。MSDN的一句话:
行定义为后跟一个回车的字符序列
返回(十六进制0x000d)、换行符(十六进制0x000a)或
Environment.NewLine属性的值。返回的字符串不存在
不包含终止字符
所以你只需要把没有终止的行打印出来
来源:控制台。ReadLine()
方法不会终止该行(正如您可能期望的那样)。MSDN的一句话:
行定义为后跟一个回车的字符序列
返回(十六进制0x000d)、换行符(十六进制0x000a)或
Environment.NewLine属性的值。返回的字符串不存在
不包含终止字符
所以你只需要把没有终止的行打印出来
来源:每次调用Console.WriteLine()方法都会打印一行新行。 您的示例所做的是获取所有输入并一次性打印该输入 您可以尝试以下方法:
class Program
{
static void Main(string[] args)
{
int a;
while(true)
{
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(a);
}
}
}
编辑:包含使用char和Console.Read()的版本,因为这似乎更合适
class Program
{
static void Main(string[] args)
{
char a;
while(true)
{
a = (char)Console.Read();
Console.WriteLine(a);
}
}
}
每次调用Console.WriteLine()方法都会打印一行新行。 您的示例所做的是获取所有输入并一次性打印该输入 您可以尝试以下方法:
class Program
{
static void Main(string[] args)
{
int a;
while(true)
{
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(a);
}
}
}
编辑:包含使用char和Console.Read()的版本,因为这似乎更合适
class Program
{
static void Main(string[] args)
{
char a;
while(true)
{
a = (char)Console.Read();
Console.WriteLine(a);
}
}
}
“任何字符”都不起作用,因为您正在转换为
int
,但是,如果您在这个程序中输入int
,例如5,它会像您预期的那样将值打印到新行。@Scott“任何字符”都起作用,我至少可以写任何字母字符(为什么起作用,我不知道)。当尝试只输入int
字符时,它们打印在一行上,因此,如果使用该代码输入字符串
值,它不会引发格式异常
?不,当我使用该代码输入字符串
值时,我不会收到任何异常、警告或错误。刚刚在console中成功打印的字符串
值“任何字符”都不起作用,因为您正在转换为int
,但是,如果您在此程序中输入int
,例如5,它会像您所期望的那样将值打印到新行。@Scott“任何字符”工作,我可以写任何字母字符至少(为什么工作,我不知道)。当尝试只输入int
字符时,它们打印在一行上,因此,如果使用该代码输入字符串
值,它不会引发格式异常
?不,当我使用该代码输入字符串
值时,我不会收到任何异常、警告或错误。这个字符串
值刚刚在控制台中成功打印出来。我误解了你的意思。您的意思是,当输入字符串为“123”时,您希望输出为:1 2 3?因为Console.ReadLine()命令计算整个输入字符串。您可以尝试将输入输出到一个字符中并打印它。也许这就是你想要的?(请原谅格式化)类程序{static void Main(string[]args){char a;而(true){a=(char)Console.Read();Console.WriteLine(a);}}}}}也许我误解了你的意思。您的意思是,当输入字符串为“123”时,您希望输出为:1 2 3?因为Console.ReadLine()命令计算整个输入字符串。您可以尝试将输入输出到一个字符中并打印它。也许这就是你想要的?(请原谅格式化)类程序{static void Main(string[]args){char a;而(true){a=(char)Console.Read();Console.WriteLine(a);}