gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:22:29 25 4
gpt4 key购买 nike

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

也许我们不使用它,但在我的学院中,唯一的区别是一个有“线”而另一个没有……在c++中,有“cin”和“endl”来添加行。谁能告诉我区别?

最佳答案

你是说 TextReader.ReadTextReader.ReadLine 吗?

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

TextReader.ReadLine 将整行作为 string 读取,不包括行终止符。

据我所知,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() 的返回类型是一个字符串,并且没有从 stringint 的转换。你可以

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

关于c# - C# 中的 read 和 readline 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com