Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在新行上显示键入的字符_C# - Fatal编程技术网

C# 在新行上显示键入的字符

C# 在新行上显示键入的字符,c#,C#,可能是个有趣的问题,我是C语言的新手# 我希望在键入任何字符后,这些字符将被写入console中的新行,尽管它们是打印在一行上的。我错在哪里 附言 这将按预期显示: ASD DSA Console.ReadLine()方法不会终止该行(正如您可能期望的那样)。MSDN的一句话: 行定义为后跟一个回车的字符序列 返回(十六进制0x000d)、换行符(十六进制0x000a)或 Environment.NewLine属性的值。返回的字符串不存在 不包含终止字符 所以你只需要把没有终止的行打印出来 来

可能是个有趣的问题,我是C语言的新手#

我希望在键入任何字符后,这些字符将被写入console中的新行,尽管它们是打印在一行上的。我错在哪里

附言

这将按预期显示:

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);}