你的意思是TextReader.Read和TextReader.ReadLine?
TextReader.Read的一个重载将字符读入缓冲区(char []),您可以指定要读取的字符数(作为最大值).另一个读取单个字符,返回一个int,如果你已经到达读者的末尾将为-1.
TextReader.ReadLine将整行读作字符串,不包括行终止符.
据我所知,endl更常用于C中的cout:
cout << "Here's a line" << endl;
在.NET中你会使用
writer.WriteLine("Here's a line")
完成相同的事情(对于适当的TextWriter;或者使用Console.WriteLine作为控制台).
编辑:Console.ReadLine读取一行文本,而Console.Read读取单个字符(它类似于TextWriter.Read的无参数重载).
Console.ReadLine()与Console.In.ReadLine()和Console.Read()基本相同,与Console.In.Read()基本相同.
编辑:在回答您对其他答案的评论时,您不能这样做:
int x = Console.ReadLine();
因为Console.ReadLine()的返回类型是一个字符串,并且没有从字符串到int的转换.你可以做
int x = Console.Read();
因为Console.Read()返回一个int. (同样,它是Unicode代码点,或者是“数据结束”的-1.)
编辑:如果你想从键盘读取一个整数,即用户键入“15”,你想要将其作为整数检索,你应该使用类似的东西:
string line = Console.ReadLine();
int value;
if (int.TryParse(line, out value))
{
Console.WriteLine("Successfully parsed value: {0}", value);
}
else
{
Console.WriteLine("Invalid number - try again!");
}