C#中的read和readline有什么区别?
C语言中的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
read()
和readline()
有什么区别
也许我们不使用它,但在我的学院里唯一的区别是一个有“线”,另一个没有。。。
在C++中,有“CIN”,它有“Endl”来添加行。
有人能告诉我区别吗?你是说
TextReader.Read
和TextReader.ReadLine
TextReader.Read的一个重载将字符读入缓冲区(achar[]
),您可以指定要读取的字符数(最大)。另一个读取单个字符,返回一个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!");
}