C# Console.Read()和Console.ReadLine()之间的区别?

C# Console.Read()和Console.ReadLine()之间的区别?,c#,input,console,inputstream,C#,Input,Console,Inputstream,我是这个领域的新手,我很困惑:Console.Read()和Console.ReadLine()之间的真正区别是什么?只读取标准输入中的下一个字符, 并从标准输入流中读取下一行字符 对于控制台应用程序,标准输入是从应用程序控制台UI中用户键入的单词输入的。试着用Visual studio创建它,然后自己看。MSDN在这一点上实际上非常清楚 :从标准输入流中读取下一个字符 :从标准输入流读取下一行字符 Console.Read()读取单个键,其中Console.Readline()等待回车键。C

我是这个领域的新手,我很困惑:
Console.Read()
Console.ReadLine()
之间的真正区别是什么?

只读取标准输入中的下一个字符, 并从标准输入流中读取下一行字符


对于控制台应用程序,标准输入是从应用程序控制台UI中用户键入的单词输入的。试着用Visual studio创建它,然后自己看。

MSDN在这一点上实际上非常清楚

  • :从标准输入流中读取下一个字符
  • :从标准输入流读取下一行字符
  • Console.Read()
    读取单个键,其中
    Console.Readline()
    等待回车键。

    Console.Read()
    只读取单个字符,而
    Console.Readline()
    读取所有字符,直到行尾。

    Console.Read()
    用于从标准输入流中读取下一个字符。 如果只想读取单个字符,请使用
    Console.read()

    Console.ReadLine()
    用于从标准输入流中读取一行字符。
    当我们想要读取一行字符时,请使用
    Console.ReadLine()

    Console.read()
    基本上读取一个字符,因此如果您在控制台上并按键,则控制台将关闭,同时
    Console.ReadLine()
    将读取整个字符串。

    基本区别是:

    int i = Console.Read();
    Console.WriteLine(i);
    
    粘贴上述代码并输入“c”,输出为99。 这是控制台。读取并给出int值,但该值将是该值的ASCII值

    在另一边

    string s = Console.ReadLine();
    Console.WriteLine(s);
    

    它给出了输入流中给定的字符串。

    下面给出了Read()、ReadLine()和Readkey()方法的区别:

    Read():这是Console类中的静态方法:

    int i = Console.Read();//it always return int value.
    Console.WriteLine(i);
    
    粘贴上述代码并输入“1”,输出为49。这就是控制台。读取时给出int值,但该值将是该值的ASCII值

    ReadLine():

    它给出了输入流中给定的字符串

    ReadKey():此方法用于在按下任何键时保持输出屏幕。 Read()和ReadLine()用作退出的回车键。

    C#中Read()、ReadLine()和ReadKey()之间的区别:

    • Read()
      -接受字符串值并返回字符串值
    • Readline()
      -接受字符串并返回整数
    • ReadKey()
      -接受字符并返回字符
    总结:

  • 这三种方法主要用于控制台应用程序,用于返回不同的值
  • 如果使用Read line或Read(),则需要按Enter键返回代码
  • 若我们使用Read key(),我们可以按任意键返回应用程序中的代码
  • =>仅从标准输入中读取一个字符

    Console.ReadLine()
    
    =>从标准输入读取行中的所有字符

    这些是system.console的方法

    Console.ReadLine()
    
    • (返回一个字符):仅从标准输入流或命令行读取一个字符。通常在控制台中为用户提供选项以供选择时使用,例如选择A、B或C。 另一个突出的例子是,按Y或n继续
    • (返回一个字符串):或控制台。Readline()从标准输入流或命令行读取一行。例如,它可以用来要求用户输入他们的姓名或年龄。它读取所有字符,直到我们按enter键
    • (返回一个int):或Console.Read()只从 标准输入流。与ReadKey类似,只是它返回一个 整数。它返回输入流中的下一个字符,如果没有更多的字符可读取,则返回(-1)
    (还有更多system.console方法,如write()和writeline(),它们用于在命令行中写入,其行为与read()和readline()方法类似)

    MSDN文档中的示例对此进行了清楚的描述(上面包含链接)。

    Console.Read()

    • 它只接受用户输入的单个字符并返回其ASCII码
    • 数据类型应为int。因为它以ASCII形式返回整数值
    • ex->int value=Console.Read()
    Console.ReadLine()

    • 它读取用户输入的所有字符。(并在按enter键时完成)
    • 它返回一个字符串,因此数据类型应为字符串
    • ex->字符串值=Console.ReadLine()
    Console.ReadKey()

    • 它读取用户按下的键并返回其名称。输入前无需按enter键
    • 它是一种结构数据类型,即ConsoleKeyInfo
    • ex->ConsoleKeyInfo key=Console.ReadKey()

    :,和。快速检查联机MSDN将回答:行定义为一系列字符,后跟回车符(十六进制0x000d)、换行符(十六进制0x000a)或Environment.NewLine属性值。返回的字符串不包含终止字符。同样值得一读-与其他答案相比,您的答案实际上没有添加任何内容(这些答案都是在7个月前一分钟内编写的,这就是为什么它们如此相似的原因)…还有Console.ReadKey()?从答案中删除了促销内容。因为不允许在Stackoverflow上推广任何东西(网站、博客、任何产品或其他),特别是当它不能解决问题/问题的目的时。字符集可能不是ASCII。ASCII在co中的应用不多
    Console.ReadLine()