2016-07-04 13 views
-1

Hallo Kollegen StackOverflow-Benutzer.C# TextWriter fügt neue Zeile ohne Grund hinzu

Das Problem

Ich habe einen einfachen # Code C, wobei I Methode, die sowohl ein TextReader (Leser) und ein TextWriter (writer) als Argument annimmt.

Jedesmal I laufen writer.Write("\n") es jumpts Linien und writer.Write(" ") sie einen Raum hinzufügt und springt Linie. Wie kann ich verhindern, dass neue Zeilen hinzugefügt werden?

Ich gehe, Console.In und Console.Out als reader und writer.

Der Kodex

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; 
} 
+0

Gemäß diesem Beispiel und auch getestet, gibt es keine neue Zeile, nur wenn Sie WriteLine verwenden: https://msdn.microsoft.com/en-us/library/system.console.in(v=vs.110) .aspx –

+0

Übergeben von \ n versuchen, Environment.NewLine zu übergeben. – Hakunamatata

Antwort

0
writer.Write(Environment.NewLine); 

Dieses Ihr Problem beheben könnte. Wenn es mich nicht wissen lässt. Danke

0

Die Lösung

Stumm mich! Das Problem ist eigentlich reader.ReadLine. Wenn es aufgerufen wird, liest es und fügt eine neue Zeile hinzu. Ersetzen Sie es mit reader.Read arbeitete von mir.

+1

Froh, dass dein Problem behoben wurde – Sami

Verwandte Themen