ASCII Art in der Konsole ausgeben [C#]?

1 Antwort

  1. Deine Schleife ergibt nicht viel Sinn und du gibtst noch dazu nur jedes zweite Byte aus.
  2. Bei der Ausgabe rufst du implizit byte.ToString() auf, was auch nicht zielführend ist.

Ersetze deine Schleife hierdurch, dann sollte es funktionieren:

int b; //Zum Zwischenspeichern des eingelesenen Wertes
while((b = reader.ReadByte()) > -1){ //Wert einlesen, zwischenspeichern und sofern der Wert größer als -1 ist die Schleife betreten
    Console.Write((char)b); //Den eingelesenen Wert nach char casten und ausgeben
    if(count > 0 && (++count % 11) == 0) Console.WriteLine(); //Falls count größer als 0 und nach dem Inkrementieren ohne Rest durch 11 teilbar ist einen Zeilenumbruch ausgeben
}

P.S.: Falls der Reader EOF erreicht gibt seine ReadByte-Methode -1 zurück.