如何在C#中进行多行输入?

How to make multiline input in C#?

我对 C++ 代码很感兴趣:

 while(getline(cin, n)) 

但我想在 C# 中执行此操作,但我不知道如何执行此类操作。我有 10 行输入,需要在 一个字符串 中,但是使用 Console.ReadLine() 它只节省了我 一行 10 到字符串。我的字符串变量必须有 10 行文本,

例如:

"first line of text\nsecond line\nthird". 

有没有办法像在 C++ 中那样做这样的事情?

如果你想模仿 getline(cin, n),你可以尝试从 stdin 读取,即

using System.IO;

... 

// Read line by line from stdin
public static IEnumerable<string> ReadStdInLines() {
  using var reader = new StreamReader(Console.OpenStandardInput());

  for (string line = reader.ReadLine(); line != null; line = reader.ReadLine())
    yield return line;
}

例如:

using System.Linq;

...

string[] lines = ReadStdInLines()
  .Take(10) // at most 10 lines
  .ToArray();

尝试初始化一个新变量来指示要输入的行数。然后,在一个循环中,输入指定数量的新行。如果你不知道输入的数据什么时候结束,那么你可以用String.IsNullOrWhiteSpace来完成输入,它会检查你输入的最后一行是否为空,这样就完成了输入。 示例:

string line;
while(!String.IsNullOrWhiteSpace(line=Console.ReadLine())) {}