C#TextWriter无缘无故地添加新行

时间:2016-07-04 00:29:44

标签: c# io textreader textwriter

Hello StackOverflow用户。

问题

我有一个简单的C#代码,其中我的方法同时将TextReader(阅读器)和TextWriter(作者)作为参数。

每次我运行writer.Write("\n")时,它会跳过 2 行,而writer.Write(" ")会增加一个空格并跳转 1 行。如何防止它添加新行?

我分别将Console.InConsole.Out作为readerwriter传递。

代码

public Matriz(TextReader reader, TextWriter writer) {
    int rows, columns;
    decimal[,] _map;

    ... reading rows number and columns number ...

    _map = new decimal[rows, columns];

    for (int i = 0; i < rows; ++i) {
        writer.Write ("\n"); // adds 2 lines
        for (int j = 0; j < columns; ++j) {
            writer.Write (""); // adds one line
            _map [i, j] = Convert.ToDecimal (reader.ReadLine ());
        }
    }

    this.map = _map;
}

2 个答案:

答案 0 :(得分:0)

writer.Write(Environment.NewLine);

这可能会解决您的问题。如果它不让我知道。感谢

答案 1 :(得分:0)

解决方案

傻了我!问题实际上是reader.ReadLine。当它被调用时,它会读取并添加一个新行。 用reader.Read代替我。