C# 中 Console.Read 和 Console.ReadLine 的区别

2024 年 8 月 29 日 | 4 分钟阅读

C# 中的 "Console.Read()""Console.ReadLine()" 方法都用于从标准输入设备接受输入。在 System 命名空间中,Console 是一个预定义的类。但是,Read()ReadLine() 都是 Console 类的成员。在本文中,您将了解 C# 中 Console.Read() 和 Console.Readline() 函数的区别。但在讨论它们的区别之前,您必须先了解 C# 中的 Console.Read() 和 Console.Readline()。

Console.Read() 方法是什么?

"Console.Read()" 方法从标准输入流(通常是键盘)读取下一个字符,并将其 Unicode 值作为整数返回。读取一个字符后,输入光标会移到输入流中的下一个字符。它可以处理所有 Unicode 字符,因为它将字符作为 Unicode 代码点读取并返回一个整数。

它返回 '-1',表示输入流已结束。

语法

它具有以下语法:

返回值

  • 如果此时没有更多字符可供读取,它将返回一个负值 (-1)。否则,它将返回输入流中的下一个字符。

Exception

  • 异常 如果发生 I/O 错误,此方法将抛出 IOException

注意:数据类型应为 int,因为它以 ASCII 格式返回整数值。

示例

让我们通过一个示例来说明 C# 中的 Console.Read() 方法。

输出

Please enter the character:
M
Your entered character is: M
Its Unicode value is: 77

说明

总而言之,此程序要求用户输入一个字符,将 Console 的输入作为表示该字符 Unicode 值的整数读取,将输入转换为字符,然后将用户输入的字符及其 Unicode 值显示回 Console。如果输入流到达末尾,它会相应地通知用户。

Console.ReadLine 是什么?

  • "Console.ReadLine()" 方法从标准输入流读取下一行字符,并将其作为字符串返回。
  • 它会一直读取所有字符,直到输入流结束或遇到换行符 ('\n')。
  • 它将输入作为字符串返回,这意味着它会保留空格和行尾的任何字符。

注意:数据类型也必须是 STRING,因为返回的是一个 STRING

语法

它具有以下语法:

返回值

返回输入流的下一行字符,类型为字符串;如果没有更多可用行,则返回 null。

示例

让我们通过一个示例来说明 C# 中的 Console.ReadLine() 方法。

输出

Please enter a line of text:
Hello World!
You entered String is: Hello World!

说明

总而言之,此程序提示用户输入一行文本,从 Console 读取输入,然后将输入的文本连同指示输入内容的的消息一起打印回 Console。

Console.Read 和 Console.ReadLine 的主要区别

C# 中的 Console.read()Console.ReadLine() 方法之间有几个主要区别。一些主要区别如下:

特性Console.Read()Console.ReadLine()
数据类型intstring
目的从输入流中读取单个字符。从输入流中读取一整行文本。
返回值返回一个整数,即字符的 Unicode 值。返回一个字符串,表示输入的文本行。
输入处理仅读取输入流的下一个字符。读取所有字符,直到遇到换行符或流的末尾。
移除换行符不能是的
输入缓冲区不等待 Enter 键;立即读取。等待 Enter 键;用户按下 Enter 键后读取。
返回值int(字符的 Unicode 值)string(字符行)
输入结束如果输入流结束,则返回 -1。如果输入结束,则返回一个空字符串。
阻塞行为阻塞直到有字符可用阻塞直到输入了一行
示例int num_ber = Console.Read();string str = Console.ReadLine();

在 C# 中,"Console.Read""Console.ReadLine" 的主要区别如下表所示。它侧重于每个方法如何处理输入缓冲区管理、阻塞行为、换行符处理、输入和返回类型。