【发布时间】:2018-06-05 06:34:45
【问题描述】:
我是 C# 新手。所以,我通过编写一些简单的代码来练习。 我决定编写一个代码,用户将输入一个数字,相同的数字将显示为输出。我编写了以下代码,它运行良好。
但是,当我决定将 Console.Readline() 替换为 Console.Read() 以查看输出结果并运行代码时,我发现输出是数字的第一个数字的 ASCII 码我进入的。 [也就是我输入46的时候,输出是52。]
然而,当我使用 Console.ReadLine() 时,会显示整个两位数。
在我看来,不应该是 Console.Read() 只显示输入数字的第一位,而 Console.ReadLine() 显示整个数字吗?
using System;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
int num1;
Console.Write("Enter a number:");
num1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("The number is: " + num1);
Console.ReadKey();
}
}
}
【问题讨论】:
-
我已经搜索了您提供的链接,但找不到足够的信息来消除我的所有疑问。从那里我知道 ReadLine() 读取整个字符串,而 Read() 只读取第一个字符。但我的疑问是,为什么在使用 Read() 时,它显示第一个数字的 ASCII 码,而 ReadLine() 显示整个数字而不是 ASCII 码。
-
@RajdeepDutta:提示:查看
Console.Read()的返回类型。它是int,因此它可以使用-1 来指示数据流的结束。如果值不是 -1,只需转换回char以获取输入的 文本。 -
您似乎发布了许多意见,但我无法在此处找到一个连贯的问题来回答。
标签: c# console.readline