各位StackOverflow用户好。
问题
我有一个简单的C#代码,其中有一个以TextReader
(读取器(和TextWriter
(写入器(为参数的方法。
每次运行writer.Write("n")
时,它都会跳转2行,而writer.Write(" ")
则会添加一个空格并跳转1线。我该如何阻止它添加这些新行?
我将Console.In
和Console.Out
分别作为reader
和writer
传递。
守则
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;
}
writer.Write(Environment.NewLine);
这可能会解决您的问题。如果它不让我知道。感谢
解决方案
愚蠢的我!问题实际上是reader.ReadLine
。当它被调用时,它读取并添加一行。用reader.Read
替换它对我来说很有效。