C#中的read和readline有什么区别?

C#中的read和readline有什么区别?,c#,visual-c++,C#,Visual C++,C语言中的read()和readline()有什么区别 也许我们不使用它,但在我的学院里唯一的区别是一个有“线”,另一个没有。。。 在C++中,有“CIN”,它有“Endl”来添加行。 有人能告诉我区别吗?你是说TextReader.Read和TextReader.ReadLine TextReader.Read的一个重载将字符读入缓冲区(achar[]),您可以指定要读取的字符数(最大)。另一个读取单个字符,返回一个int,如果到达读取器的末尾,该值将为-1 TextReader.ReadLi

C语言中的
read()
readline()
有什么区别

也许我们不使用它,但在我的学院里唯一的区别是一个有“线”,另一个没有。。。 在C++中,有“CIN”,它有“Endl”来添加行。
有人能告诉我区别吗?

你是说
TextReader.Read
TextReader.ReadLine

TextReader.Read的一个重载将字符读入缓冲区(a
char[]
),您可以指定要读取的字符数(最大)。另一个读取单个字符,返回一个
int
,如果到达读取器的末尾,该值将为-1

TextReader.ReadLine
将整行读取为
字符串,其中不包括行终止符

据我所知,
endl
在C++中更常用于与
cout
结合使用:

cout << "Here's a line" << endl;
要完成相同的操作(对于适当的
文本编写器
;或者对于控制台使用
Console.WriteLine

编辑:
Console.ReadLine
读取一行文本,而
Console.Read
读取一个字符(就像
TextWriter.Read
的无参数重载)

Console.ReadLine()
Console.In.ReadLine()
基本相同,
Console.Read()
Console.In.Read()基本相同

编辑:在回答您对其他答案的评论时,您不能执行以下操作:

int x = Console.ReadLine();
因为
Console.ReadLine()
的返回类型是字符串,并且没有从
string
int
的转换。你能行

因为
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!");
}

如果您谈论的是Console.Read和Console.ReadLine,区别在于Read only返回单个字符,而ReadLine返回整个输入行。需要注意的是,在这两种情况下,API调用都不会返回,直到用户按ENTER键向程序提交文本。所以,如果您键入“abc”但不按ENTER键,Read和ReadLine都将被阻止,直到您这样做。

对不起,我的意思是“Console.ReadLine()”和“Console.Read()”好,但关于从键盘读取整数,您的建议是什么:使用Read或ReadLine并进行转换?好,但原因是:int x;x=Console.Read()//ok x=Console.ReadLine()/*错误不能从字符串转换为整数*/C++,我不需要做转换,用CINI获取输入数据为整数。另一方面,C如果你使用控制台.Read LINE(),你必须做转换…..(up)控制台。
int x = Console.Read();
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!");
}