Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Console-Klasse

 

Stellt die Standardstreams für Eingabe, Ausgabe und Fehler bei Konsolenanwendungen dar. Diese Klasse kann nicht vererbt werden.

Um den .NET Framework-Quellcode für diesen Typ zu durchsuchen, finden Sie unter der Reference Source.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)


public static class Console

NameBeschreibung
System_CAPS_pubpropertySystem_CAPS_staticBackgroundColor

Ruft die Hintergrundfarbe der Konsole ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticBufferHeight

Ruft die Höhe des Pufferbereichs ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticBufferWidth

Ruft die Breite des Pufferbereichs ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticCapsLock

Ruft einen Wert ab, der angibt, ob die FESTSTELLTASTE-Tastaturumschalttaste aktiviert oder deaktiviert ist.

System_CAPS_pubpropertySystem_CAPS_staticCursorLeft

Ruft die Spaltenposition des Cursors im Pufferbereich ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticCursorSize

Ruft die Höhe des Cursors innerhalb einer Zeichenzelle ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticCursorTop

Ruft die Zeilenposition des Cursors im Pufferbereich ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticCursorVisible

Ruft einen Wert ab, der angibt, ob der Cursor sichtbar ist, oder legt diesen fest.

System_CAPS_pubpropertySystem_CAPS_staticError

Ruft den Standard-Fehlerausgabestream ab.

System_CAPS_pubpropertySystem_CAPS_staticForegroundColor

Ruft die Vordergrundfarbe der Konsole ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticIn

Ruft den Standardeingabestream ab.

System_CAPS_pubpropertySystem_CAPS_staticInputEncoding

Ruft die Codierung ab, die die Konsole verwendet, um die Eingabe zu lesen, oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticIsErrorRedirected

Ruft einen Wert ab, der angibt, ob der Fehlerausgabedatenstrom von dem Standardfehlerstream umgeleitet wurde.

System_CAPS_pubpropertySystem_CAPS_staticIsInputRedirected

Ruft einen Wert ab, der angibt, ob die Eingabe aus dem Standardeingabestream umgeleitet wurde.

System_CAPS_pubpropertySystem_CAPS_staticIsOutputRedirected

Ruft einen Wert ab, der angibt, ob die Ausgabe aus dem Standardausgabestream umgeleitet wurde.

System_CAPS_pubpropertySystem_CAPS_staticKeyAvailable

Ruft einen Wert ab, der angibt, ob ein Tastendruck im Eingabestream vorhanden ist.

System_CAPS_pubpropertySystem_CAPS_staticLargestWindowHeight

Ruft die entsprechend der aktuellen Schriftart und Bildschirmauflösung größtmögliche Anzahl von Konsolenfensterzeilen ab.

System_CAPS_pubpropertySystem_CAPS_staticLargestWindowWidth

Ruft die entsprechend der aktuellen Schriftart und Bildschirmauflösung größtmögliche Anzahl von Konsolenfensterspalten ab.

System_CAPS_pubpropertySystem_CAPS_staticNumberLock

Ruft einen Wert ab, der angibt, ob die NUM-Tastaturumschalttaste aktiviert oder deaktiviert ist.

System_CAPS_pubpropertySystem_CAPS_staticOut

Ruft den Standardausgabestream ab.

System_CAPS_pubpropertySystem_CAPS_staticOutputEncoding

Ruft die Codierung ab, die die Konsole verwendet, um die Ausgabe zu schreiben, oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticTitle

Ruft den auf der Konsolentitelleiste anzuzeigenden Titel ab oder legt diesen fest.

System_CAPS_pubpropertySystem_CAPS_staticTreatControlCAsInput

Ruft einen Wert ab oder legt diesen fest, der angibt, ob die Kombination der Control-Modifizierertaste und der C-Konsolentaste (STRG+C) als normale Eingabe oder als vom Betriebssystem zu behandelnde Unterbrechung behandelt wird.

System_CAPS_pubpropertySystem_CAPS_staticWindowHeight

Ruft die Höhe des Konsolenfensterbereichs ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticWindowLeft

Ruft die am weitesten links stehende Position des Konsolenfensterbereichs im Verhältnis zum Bildschirmpuffer ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticWindowTop

Ruft die oberste Position des Konsolenfensterbereichs im Verhältnis zum Bildschirmpuffer ab oder legt diese fest.

System_CAPS_pubpropertySystem_CAPS_staticWindowWidth

Ruft die Breite des Konsolenfensters ab oder legt diese fest.

NameBeschreibung
System_CAPS_pubmethodSystem_CAPS_staticBeep()

Gibt den Sound eines Signaltons auf dem Konsolenlautsprecher wieder.

System_CAPS_pubmethodSystem_CAPS_staticBeep(Int32, Int32)

Gibt den Sound eines Signaltons mit einer angegebenen Frequenz und Dauer auf dem Konsolenlautsprecher wieder.

System_CAPS_pubmethodSystem_CAPS_staticClear()

Löscht die Anzeigeinformationen aus dem Konsolenpuffer und dem entsprechenden Konsolenfenster.

System_CAPS_pubmethodSystem_CAPS_staticMoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32)

Kopiert einen angegebenen Quellbereich des Bildschirmpuffers in einen angegebenen Zielbereich.

System_CAPS_pubmethodSystem_CAPS_staticMoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32, Char, ConsoleColor, ConsoleColor)

Kopiert einen angegebenen Quellbereich des Bildschirmpuffers in einen angegebenen Zielbereich.

System_CAPS_pubmethodSystem_CAPS_staticOpenStandardError()

Ruft den Standardfehlerstream ab.

System_CAPS_pubmethodSystem_CAPS_staticOpenStandardError(Int32)

Ruft den Standardfehlerstream ab, der auf eine angegebene Puffergröße festgelegt wird.

System_CAPS_pubmethodSystem_CAPS_staticOpenStandardInput()

Ruft den Standardeingabestream ab.

System_CAPS_pubmethodSystem_CAPS_staticOpenStandardInput(Int32)

Ruft den Standardeingabestream ab, der auf eine angegebene Puffergröße festgelegt wird.

System_CAPS_pubmethodSystem_CAPS_staticOpenStandardOutput()

Ruft den Standardausgabestream ab.

System_CAPS_pubmethodSystem_CAPS_staticOpenStandardOutput(Int32)

Ruft den Standardausgabestream ab, der auf eine angegebene Puffergröße festgelegt wird.

System_CAPS_pubmethodSystem_CAPS_staticRead()

Liest das nächste Zeichen aus dem Standardeingabestream.

System_CAPS_pubmethodSystem_CAPS_staticReadKey()

Ruft die nächste vom Benutzer gedrückte Zeichen- oder Funktionstaste ab. Die gedrückte Taste wird im Konsolenfenster angezeigt.

System_CAPS_pubmethodSystem_CAPS_staticReadKey(Boolean)

Ruft die nächste vom Benutzer gedrückte Zeichen- oder Funktionstaste ab. Die gedrückte Taste wird optional im Konsolenfenster angezeigt.

System_CAPS_pubmethodSystem_CAPS_staticReadLine()

Liest die nächste Zeile von Zeichen aus dem Standardeingabestream.

System_CAPS_pubmethodSystem_CAPS_staticResetColor()

Legt die Vordergrund- und Hintergrundkonsolenfarben auf die entsprechenden Standardwerte fest.

System_CAPS_pubmethodSystem_CAPS_staticSetBufferSize(Int32, Int32)

Legt die Höhe und die Breite des Bildschirmpufferbereichs auf die angegebenen Werte fest.

System_CAPS_pubmethodSystem_CAPS_staticSetCursorPosition(Int32, Int32)

Legt die Position des Cursors fest.

System_CAPS_pubmethodSystem_CAPS_staticSetError(TextWriter)

Legt die Error-Eigenschaft auf den angegebenen TextWriter fest.

System_CAPS_pubmethodSystem_CAPS_staticSetIn(TextReader)

Legt die In-Eigenschaft auf den angegebenen TextReader fest.

System_CAPS_pubmethodSystem_CAPS_staticSetOut(TextWriter)

Legt die Out-Eigenschaft auf den angegebenen TextWriter fest.

System_CAPS_pubmethodSystem_CAPS_staticSetWindowPosition(Int32, Int32)

Legt die Position des Konsolenfensters relativ zum Bildschirmpuffer fest.

System_CAPS_pubmethodSystem_CAPS_staticSetWindowSize(Int32, Int32)

Legt die Höhe und die Breite des Konsolenfensters auf die angegebenen Werte fest.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Boolean)

Schreibt die Textdarstellung des angegebenen booleschen Werts in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Char)

Schreibt das angegebene Unicode-Zeichen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Char[])

Schreibt das angegebene Array von Unicode-Zeichen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Char[], Int32, Int32)

Schreibt das angegebene Unterarray von Unicode-Zeichen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Decimal)

Schreibt die Textdarstellung des angegebenen Decimal-Werts in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Double)

Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit doppelter Genauigkeit in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Int32)

Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl mit Vorzeichen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Int64)

Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl mit Vorzeichen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Object)

Schreibt die Textdarstellung des angegebenen Objekts in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(Single)

Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit einfacher Genauigkeit in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(String)

Schreibt die angegebene Zeichenfolge in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(String, Object)

Schreibt die Textdarstellung des angegebenen Objekts unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(String, Object, Object)

Schreibt die Textdarstellung der angegebenen Objekte unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(String, Object, Object, Object)

Schreibt die Textdarstellung der angegebenen Objekte unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(String, Object, Object, Object, Object)

Schreibt die Textdarstellung der angegebenen Objekte und der Parameterliste von variabler Länge unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(String, Object[])

Schreibt die Textdarstellung des angegebenen Arrays von Objekten unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(UInt32)

Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl ohne Vorzeichen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWrite(UInt64)

Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl ohne Vorzeichen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine()

Schreibt das aktuelle Zeichen für den Zeilenabschluss in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Boolean)

Schreibt die Textdarstellung des angegebenen booleschen Werts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Char)

Schreibt das angegebene Unicode-Zeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Char[])

Schreibt das angegebenen Array von Unicode-Zeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Char[], Int32, Int32)

Schreibt das angegebene Unterarray von Unicode-Zeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Decimal)

Schreibt die Textdarstellung des angegebenen Decimal-Werts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Double)

Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit doppelter Genauigkeit, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Int32)

Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl mit Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Int64)

Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl mit Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Object)

Schreibt die Textdarstellung des angegebenen Objekts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(Single)

Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit einfacher Genauigkeit, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(String)

Schreibt den angegebenen Zeichenfolgenwert, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(String, Object)

Schreibt die Textdarstellung des angegebenen Objekts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(String, Object, Object)

Schreibt die Textdarstellung der angegebenen Objekte, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(String, Object, Object, Object)

Schreibt die Textdarstellung der angegebenen Objekte, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(String, Object, Object, Object, Object)

Schreibt die Textdarstellung der angegebenen Objekte und der Parameterliste variabler Länge, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(String, Object[])

Schreibt die Textdarstellung des angegebenen Arrays von Objekten, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(UInt32)

Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl ohne Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

System_CAPS_pubmethodSystem_CAPS_staticWriteLine(UInt64)

Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl ohne Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.

NameBeschreibung
System_CAPS_pubeventSystem_CAPS_staticCancelKeyPress

Tritt ein, wenn die Control-Modifizierertaste (STRG) und entweder die ConsoleKey.C-Konsolentaste (c) oder die UNTBR-TASTE gleichzeitig gedrückt werden (STRG+C oder STRG+UNTBR).

System_CAPS_noteHinweis

Die .NET Framework-Quellcodes für diesen Typ finden Sie unter der Reference Source. Sie können den Quellcode online Durchsuchen, Referenz für die Offlineanzeige herunterladen und schrittweise durchlaufen (inklusive Patches und Updates) während des Debuggens; see instructions.

Die Konsole ist ein Betriebssystem-Fenster, in denen Benutzer mit dem Betriebssystem oder mit einem textbasierten Konsolenanwendungsprojekt durch Eingabe von Text über die Tastatur eingeben und durch Lesen der Ausgabe von Text aus einem Terminal Computer interagieren. Beispielsweise wird im Windows-Betriebssystem ein die Konsole wird im Eingabeaufforderungsfenster den Befehl aufgerufen und MS-DOS-Befehle akzeptiert. Die Console -Klasse bietet grundlegende Unterstützung für Programme, die Zeichen aus lesen und Schreiben von Zeichen in der Konsole.

Weitere Informationen zum Entwickeln mit der Console Klasse, finden Sie in den folgenden Abschnitten:

Beim Starten einer Konsolenanwendung ordnet das Betriebssystem die drei e/a-Streams mit der Konsole: Standard Eingabe Stream, den Standardausgabestream und Standard-Fehlerausgabestream. Ihre Anwendung kann Benutzereingaben aus dem Standardeingabestream lesen; Schreiben Sie normale Daten in den Standardausgabestream. und Fehlerdaten in den Standard-Fehlerausgabestream schreiben. Diese Streams werden angezeigt, für Ihre Anwendung als die Werte der Console.In, Console.Out, und Console.Error Eigenschaften.

Wird standardmäßig der Wert des der In Eigenschaft ist ein System.IO.TextReader -Objekt, das die Tastatur und die Werte der darstellt, der Out und Error Eigenschaften sind System.IO.TextWriter Objekte, die ein Konsolenfenster darstellen. Jedoch können Sie diese Eigenschaften in Streams festlegen, die nicht die Konsole oder die Tastatur darstellen; Beispielsweise können Sie diese Eigenschaften in Streams festlegen, die Dateien darstellen. Um die Standardeingabe, Standardausgabe oder Standardfehlerstream umzuleiten, rufen Sie die Console.SetIn, Console.SetOut, oder Console.SetError Methode bzw.. E/a-Vorgänge, mit denen diese Streams werden synchronisiert, was bedeutet, dass mehrere Threads können Lese- und Schreibvorgänge in die Datenströme. Dies bedeutet, dass Methoden, die in der Regel asynchron, wie z. B. TextReader.ReadLineAsync, werden synchron ausgeführt, wenn das Objekt einen Konsole Stream darstellt.

System_CAPS_noteHinweis

Verwenden Sie nicht die Console zum Anzeigen der Ausgabe im unbeaufsichtigten Anwendungen, z. B. serveranwendungen. Aufrufe von Methoden wie z. B. Console.Write und Console.WriteLine wirken sich nicht in GUI-Anwendung.

Console Klassenmember, die normalerweise funktionieren, wenn der zugrunde liegende Stream auf eine Konsole zeigt möglicherweise eine Ausnahme auslösen, wenn der Stream, z. B. in einer Datei umgeleitet wird. Programmieren Sie die Anwendung zum Abfangen System.IO.IOException Ausnahmen, wenn Sie einen Standardstream umleiten. Sie können auch die IsOutputRedirected, IsInputRedirected, und IsErrorRedirected Eigenschaften, um zu bestimmen, ob ein Standardstream umgeleitet wird, vor dem Ausführen eines Vorgangs, der auslöst, ein System.IO.IOException Ausnahme.

Manchmal ist es sinnvoll, die Mitglieder der durch dargestellten Streamobjekte explizit aufrufen der In, Out, und Error Eigenschaften. Beispielsweise werden standardmäßig die Console.ReadLine Methode liest die Eingabe aus dem Standardeingabestream. Auf ähnliche Weise die Console.WriteLine -Methode schreibt Daten in den Standardausgabestream und die Daten folgt Beendigung Zeichenfolge für den, der einen Wagenrücklauf und Zeilenvorschub ("\r\n"). Allerdings die Console -Klasse keine entsprechende Methode zum Schreiben von Daten auf den Standard-Fehlerausgabestream oder eine Eigenschaft, die die Zeichenfolge für den Zeilenabschluss für in diesen Stream geschriebene Daten geändert.

Sie können dieses Problem beheben, indem Sie festlegen der TextWriter.NewLine Eigenschaft der Out oder Error -Eigenschaft auf eine andere Zeichenfolge beenden. Der folgende C#-Anweisung wird z. B. die Zeichenfolge für den Zeilenabschluss für den Standard-Fehlerausgabestream zwei Wagenrücklauf und Zeilenvorschub-Sequenzen an:

Console.Error.NewLine = "\r\n\r\n";

Sie können dann explizit aufrufen der WriteLine -Methode des Streams-Objekts wie in der folgenden C#-Anweisung:

Console.Error.WriteLine();

Zwei eng verbundene Features der Konsole sind der Bildschirmpuffer und das Konsolenfenster. Tatsächlich Text gelesen oder in Streams, die im Besitz der Konsole geschrieben, aber anscheinend gelesen oder in einen Bereich, der im Besitz der Konsole der Bildschirmpuffer genannt geschrieben werden. Der Bildschirmpuffer ist ein Attribut der Konsole und ist organisiert als Rechteckiges Raster von Zeilen und Spalten, in denen jede Raster- oder Zeichenzelle, ein Zeichen enthalten kann. Jedes Zeichen besitzt eine eigene Vordergrundfarbe, und jede Zeichenzelle hat seine eigene Hintergrundfarbe.

Bildschirmpuffer ist über einen rechteckigen Bereich mit dem Namen im Konsolenfensters angezeigt. Das Konsolenfenster ist ein weiteres Attribut der Konsole. Es ist nicht die Konsole selbst, mit die ein Betriebssystem verfügt. Das Konsolenfenster wird in Zeilen und Spalten angeordnet sind, ist kleiner als oder gleich der Größe des Bildschirmpuffers und kann in verschiedene Bereiche des zugrunde liegenden Bildschirmpuffers anzeigen verschoben werden. Wenn der Bildschirmpuffer größer als das Konsolenfenster ist, zeigt die Konsole automatisch Bildlaufleisten, damit das Konsolenfenster über Bildschirmpufferbereichs neu positioniert werden kann.

Ein Cursor gibt die Bildschirmposition Puffer, in denen Text gerade gelesen oder geschrieben werden. Der Cursor ausgeblendet oder sichtbar gemacht werden kann, und seine Höhe kann geändert werden. Wenn der Cursor sichtbar ist, wird die Position des Konsolenfensters automatisch verschoben, der Cursor ist daher immer in der Ansicht.

Der Ursprung für Zeichenzellenkoordinaten in den Bildschirmpuffer ist die linke obere Ecke und die Positionen des Cursors und des Konsolenfensters relativ zum Ursprung gemessen werden. Verwenden Sie nullbasierten Indizes, um die Position angeben. Geben Sie also die oberste Zeile als Zeile 0, und die am weitesten links stehende Spalte als Spalte 0. Der maximale Wert für die Zeilen- und Spaltenindizes ist Int16.MaxValue.

Im Allgemeinen wird die Konsole liest die Eingabe und Ausgabe schreibt, mit der aktuellen Konsole-Codepage, die standardmäßig das Gebietsschema des Systems definiert. Eine Codepage kann nur eine Teilmenge der verfügbaren Unicode-Zeichen verarbeiten, damit, wenn Sie versuchen, Anzeige von Zeichen, die nicht von der Konsole eine bestimmte Codepage zugeordnet sind werden alle Zeichen angezeigt werden, oder diese exakt darstellen. Dieses Problem wird anhand des folgenden Beispiels veranschaulicht. Sie versucht, die Zeichen von der Kyrillisch von U + 0410, U + 044F in der Konsole anzuzeigen. Wenn Sie das Beispiel auf einem System ausführen, auf der Konsole Codepage 437 verwendet, wird jedes Zeichen durch ein Fragezeichen (?), ersetzt, da die Zeichen in Codepage 437 kyrillische Zeichen zugeordnet werden.

using System;

public class Example
{
   public static void Main()
   {
      // Create a Char array for the modern Cyrillic alphabet, 
      // from U+0410 to U+044F.
      int nChars = 0x044F - 0x0410 + 1;
      char[] chars = new char[nChars];
      ushort codePoint = 0x0410;
      for (int ctr = 0; ctr < chars.Length; ctr++) {
        chars[ctr] = Convert.ToChar(codePoint);
        codePoint++;
      }   

      Console.WriteLine("Current code page: {0}\n", 
                        Console.OutputEncoding.CodePage);
      // Display the characters.
      foreach (var ch in chars) {
         Console.Write("{0}  ", ch);
         if (Console.CursorLeft >= 70) 
            Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Current code page: 437
//    
//    ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
//    ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
//    ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?

Zusätzlich zur Unterstützung von Codepages, die Console Klasse unterstützt UTF-8-Codierung mit der UTF8Encoding Klasse. Ab .NET Framework 4.5 und die Console -Klasse unterstützt auch UTF-16-Codierung mit der UnicodeEncoding Klasse. Unicode-Zeichen an der Konsole angezeigt. Festlegen der OutputEncoding -Eigenschaft entweder UTF8Encoding oder UnicodeEncoding.

Unterstützung für Unicode-Zeichen erfordert den Encoder auf ein bestimmtes Unicode-Zeichen zu erkennen, und erfordert außerdem eine Schriftart, die die Symbole benötigt, um das Zeichen zu rendern. Um erfolgreich Unicode-Zeichen in der Konsole anzuzeigen, muss die Konsole Schriftart auf eine nicht-Raster oder TrueType-Schriftart, z. B. Consolas oder Lucida Console festgelegt werden. Im folgende Beispiel wird gezeigt, wie Sie programmgesteuert die Schriftart von einer Rasterschriftart in Lucida Console ändern können.

using System;
using System.Runtime.InteropServices;

public class Example
{
   [DllImport("kernel32.dll", SetLastError = true)]
   static extern IntPtr GetStdHandle(int nStdHandle);

   [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
   static extern bool GetCurrentConsoleFontEx(
          IntPtr consoleOutput, 
          bool maximumWindow,
          ref CONSOLE_FONT_INFO_EX lpConsoleCurrentFontEx);

   [DllImport("kernel32.dll", SetLastError = true)]
   static extern bool SetCurrentConsoleFontEx(
          IntPtr consoleOutput, 
          bool maximumWindow,
          CONSOLE_FONT_INFO_EX consoleCurrentFontEx);

   private const int STD_OUTPUT_HANDLE = -11;
   private const int TMPF_TRUETYPE = 4;
   private const int LF_FACESIZE = 32;
   private static IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);

   public static unsafe void Main()
   {
      string fontName = "Lucida Console";
      IntPtr hnd = GetStdHandle(STD_OUTPUT_HANDLE);
      if (hnd != INVALID_HANDLE_VALUE) {
         CONSOLE_FONT_INFO_EX info = new CONSOLE_FONT_INFO_EX();
         info.cbSize = (uint) Marshal.SizeOf(info);
         bool tt = false;
         // First determine whether there's already a TrueType font.
         if (GetCurrentConsoleFontEx(hnd, false, ref info)) {
            tt = (info.FontFamily & TMPF_TRUETYPE) == TMPF_TRUETYPE;
            if (tt) {
               Console.WriteLine("The console already is using a TrueType font.");
               return;
            }
            // Set console font to Lucida Console.
            CONSOLE_FONT_INFO_EX newInfo = new CONSOLE_FONT_INFO_EX();
            newInfo.cbSize = (uint) Marshal.SizeOf(newInfo);          
            newInfo.FontFamily = TMPF_TRUETYPE;
            IntPtr ptr = new IntPtr(newInfo.FaceName);
            Marshal.Copy(fontName.ToCharArray(), 0, ptr, fontName.Length);
            // Get some settings from current font.
            newInfo.dwFontSize = new COORD(info.dwFontSize.X, info.dwFontSize.Y);
            newInfo.FontWeight = info.FontWeight;
            SetCurrentConsoleFontEx(hnd, false, newInfo);
         }
      }    
    }

   [StructLayout(LayoutKind.Sequential)]
   internal struct COORD
   {
      internal short X;
      internal short Y;

      internal COORD(short x, short y)
      {
         X = x;
         Y = y;
      }
   }

   [StructLayout(LayoutKind.Sequential)]
   internal unsafe struct CONSOLE_FONT_INFO_EX 
   {
      internal uint cbSize;
      internal uint nFont;
      internal COORD dwFontSize;
      internal int FontFamily;
      internal int FontWeight;
      internal fixed char FaceName[LF_FACESIZE];
   } 
}

TrueType-Schriftarten können jedoch nur eine Teilmenge der Symbole anzeigen. Beispielsweise zeigt die Lucida Console-Schriftart nur 643 von den etwa 64.000 verfügbaren Zeichen von U + 0021 bis U + FB02. Anzeigen, die eine bestimmte Schriftart Zeichen unterstützt, öffnen Sie die Schriftarten in der Systemsteuerung, wählen Sie die finden Sie ein Zeichen aus, und wählen Sie die Schriftart, deren Zeichensatz, den Sie, untersuchen möchten die Schriftart Liste der Zeichentabelle Fenster.

Windows verwendet die Verknüpfung von Schriftarten, um Symbole anzuzeigen, die in einer bestimmten Schriftart nicht verfügbar sind. Informationen zu Schriftart zum Anzeigen zusätzlicher Zeichensätze verknüpfen, finden Sie unter Globalization Step-by-Step: Fonts. Verknüpfte Schriftarten werden in dem Unterschlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink der Registrierung definiert. Jeder Eintrag zugeordnete dieser Unterschlüssel entspricht dem Namen einer Basisklasse Schriftart, und sein Wert ist ein Zeichenfolgenarray, das die Schriftartdateien definiert und die Schriftarten, die die Basis Schriftart verknüpft sind. Jedes Element des Arrays definiert eine verknüpfte Schriftart und nimmt die Form Schriftart Dateiname,Schriftartname. Im folgende Beispiel wird veranschaulicht, wie Sie programmgesteuert definieren können verknüpfte Schriftart SimSun finden Sie in eine Schriftartdatei, die mit dem Namen simsun.ttc, die vereinfachte Han Zeichen angezeigt.

using Microsoft.Win32;
using System;

public class Example
{
   public static void Main()
   {
      string valueName = "Lucida Console";
      string newFont = "simsun.ttc,SimSun";
      string[] fonts = null;
      RegistryValueKind kind = 0; 
      bool toAdd;

      RegistryKey key = Registry.LocalMachine.OpenSubKey( 
                 @"Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink", 
                 true);
      if (key == null) {
         Console.WriteLine("Font linking is not enabled.");
      }
      else {
         // Determine if the font is a base font.
         string[] names = key.GetValueNames();
         if (Array.Exists(names, s => s.Equals(valueName, 
                                      StringComparison.OrdinalIgnoreCase))) {
            // Get the value's type.
            kind = key.GetValueKind(valueName);

            // Type should be RegistryValueKind.MultiString, but we can't be sure.
            switch (kind) {
               case RegistryValueKind.String:
                  fonts = new string[] { (string) key.GetValue(valueName) };
                  break;   
               case RegistryValueKind.MultiString:
                  fonts = (string[]) key.GetValue(valueName);
                  break;
               case RegistryValueKind.None:
                  // Do nothing.
                  fonts = new string[] { };
                  break;
            } 
            // Determine whether SimSun is a linked font.
            if (Array.FindIndex(fonts, s =>s.IndexOf("SimSun", 
                                       StringComparison.OrdinalIgnoreCase) >=0) >= 0) {
               Console.WriteLine("Font is already linked.");
               toAdd = false;
            }
            else {
               // Font is not a linked font.
               toAdd = true;
            }
         }
         else {
            // Font is not a base font.
            toAdd = true;
            fonts = new string[] { };
         }

         if (toAdd) {  
            Array.Resize(ref fonts, fonts.Length + 1);
            fonts[fonts.GetUpperBound(0)] = newFont;
            // Change REG_SZ to REG_MULTI_SZ.
            if (kind == RegistryValueKind.String)
               key.DeleteValue(valueName, false);

            key.SetValue(valueName, fonts, RegistryValueKind.MultiString);
            Console.WriteLine("SimSun added to the list of linked fonts.");
         }                     
      }

      if (key != null) key.Close();
   }
}

Unicode-Unterstützung für die Konsole hat die folgenden Nachteile:

  • UTF-32-Codierung wird nicht unterstützt. Der einzige unterstützte Unicode-Codierungen sind UTF-8 und UTF-16, die von dargestellt werden die UTF8Encoding und UnicodeEncoding -Klasse bzw..

  • Bidirektionale Ausgabe wird nicht unterstützt.

  • Anzeige von Zeichen außerhalb von Basic Multilingual Plane (d. h. von Ersatzzeichenpaaren) nicht unterstützt wird, auch wenn sie in einer Schriftartdatei verknüpften definiert sind.

  • Anzeige von Zeichen in komplexen Skripts wird nicht unterstützt.

  • Kombinieren von Zeichensequenzen (d. h. Zeichen, die aus einem Basiszeichen und einem oder mehreren Kombinationszeichen bestehen) werden als separate Zeichen angezeigt. Um diese Einschränkung zu umgehen, können Sie die anzuzeigende Zeichenfolge, durch Aufrufen von Normalisieren der String.Normalize -Methode vor dem Senden der Ausgabe an die Konsole. Im folgenden Beispiel Sequenz eine Zeichenfolge mit den Zeichen U + 0061 ist U + 0308 in der Konsole angezeigt wird, als zwei Zeichen, bevor die Ausgabezeichenfolge normalisiert wird und als ein einzelnes Zeichen nach dem String.Normalize wird aufgerufen.

    using System;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          char[] chars = { '\u0061', '\u0308' };
    
          string combining = new String(chars);
          Console.WriteLine(combining);
    
          combining = combining.Normalize();
          Console.WriteLine(combining);
       }
    }
    // The example displays the following output:
    //       a"
    //       ä
    

    Beachten Sie, dass Normalisierung eine realisierbare Lösung ist, nur dann, wenn im Unicode-standard für das Zeichen eine vorab zusammengesetzte Form enthält, die einem bestimmten Combining entspricht, Sequenz Zeichen.

  • Wenn eine Schriftart ein Symbol für einen Codepunkt im Bereich private Verwendung bereitstellt, wird dieses Symbol angezeigt. Da Zeichen im Bereich private Verwendung von anwendungsspezifischen sind, kann dies das erwartete Symbol nicht sein.

Das folgende Beispiel zeigt einen Bereich von Unicode-Zeichen in der Konsole. Im Beispiel akzeptiert drei Parameter in der Befehlszeile: der Anfang des Bereichs angezeigt werden, das Ende des Bereichs angezeigt und angibt, ob die aktuelle Konsole-Codierung (false) oder UTF-16-Codierung (true). Es wird davon ausgegangen, dass mithilfe der Konsole eine TrueType-Schriftart.

using System;
using System.IO;
using System.Globalization;
using System.Text;

public static class DisplayChars
{
   private static void Main(string[] args)
   {
      uint rangeStart = 0;
      uint rangeEnd = 0;
      bool setOutputEncodingToUnicode = true;
      // Get the current encoding so we can restore it.
      Encoding originalOutputEncoding = Console.OutputEncoding;

   	try
   	{
         switch(args.Length)
         {
            case 2:
               rangeStart = uint.Parse(args[0], NumberStyles.HexNumber);
               rangeEnd = uint.Parse(args[1], NumberStyles.HexNumber);
               setOutputEncodingToUnicode = true;
               break;
            case 3:
               if (! uint.TryParse(args[0], NumberStyles.HexNumber, null, out rangeStart))
                  throw new ArgumentException(String.Format("{0} is not a valid hexadecimal number.", args[0]));

               if (!uint.TryParse(args[1], NumberStyles.HexNumber, null, out rangeEnd))
                  throw new ArgumentException(String.Format("{0} is not a valid hexadecimal number.", args[1]));

               bool.TryParse(args[2], out setOutputEncodingToUnicode);
               break;
            default:
               Console.WriteLine("Usage: {0} <{1}> <{2}> [{3}]", 
                                 Environment.GetCommandLineArgs()[0], 
                                 "startingCodePointInHex", 
                                 "endingCodePointInHex", 
                                 "<setOutputEncodingToUnicode?{true|false, default:false}>");
               return;
         }

         if (setOutputEncodingToUnicode) {
            // This won't work before .NET Framework 4.5.
            try {
               // Set encoding using endianness of this system.
               // We're interested in displaying individual Char objects, so 
               // we don't want a Unicode BOM or exceptions to be thrown on
               // invalid Char values.
               Console.OutputEncoding = new UnicodeEncoding(! BitConverter.IsLittleEndian, false); 
               Console.WriteLine("\nOutput encoding set to UTF-16");
            }
            catch (IOException) {
               Console.OutputEncoding = new UTF8Encoding();
               Console.WriteLine("Output encoding set to UTF-8");
            }
         }
         else {
            Console.WriteLine("The console encoding is {0} (code page {1})", 
                              Console.OutputEncoding.EncodingName,
                              Console.OutputEncoding.CodePage);
         }
         DisplayRange(rangeStart, rangeEnd);
      }
      catch (ArgumentException ex) {
         Console.WriteLine(ex.Message);
      }
      finally {
         // Restore console environment.
         Console.OutputEncoding = originalOutputEncoding;
      }
   }

   public static void DisplayRange(uint start, uint end)
   {
      const uint upperRange = 0x10FFFF;
      const uint surrogateStart = 0xD800;
      const uint surrogateEnd = 0xDFFF;

      if (end <= start) {
         uint t = start;
         start = end;
         end = t;
      }

      // Check whether the start or end range is outside of last plane.
      if (start > upperRange)
         throw new ArgumentException(String.Format("0x{0:X5} is outside the upper range of Unicode code points (0x{1:X5})",
                                                   start, upperRange));                                   
      if (end > upperRange)
         throw new ArgumentException(String.Format("0x{0:X5} is outside the upper range of Unicode code points (0x{0:X5})",
                                                   end, upperRange));

      // Since we're using 21-bit code points, we can't use U+D800 to U+DFFF.
      if ((start < surrogateStart & end > surrogateStart) || (start >= surrogateStart & start <= surrogateEnd ))
         throw new ArgumentException(String.Format("0x{0:X5}-0x{1:X5} includes the surrogate pair range 0x{2:X5}-0x{3:X5}", 
                                                   start, end, surrogateStart, surrogateEnd));         
      uint last = RoundUpToMultipleOf(0x10, end);
      uint first = RoundDownToMultipleOf(0x10, start);

      uint rows = (last - first) / 0x10;

      for (uint r = 0; r < rows; ++r) {
         // Display the row header.
         Console.Write("{0:x5} ", first + 0x10 * r);

         for (uint c = 0; c < 0x10; ++c) {
            uint cur = (first + 0x10 * r + c);
            if (cur  < start) {
               Console.Write(" {0} ", Convert.ToChar(0x20));
            }
            else if (end < cur) {
               Console.Write(" {0} ", Convert.ToChar(0x20));
            }
            else {
               // the cast to int is safe, since we know that val <= upperRange.
               String chars = Char.ConvertFromUtf32( (int) cur);
               // Display a space for code points that are not valid characters.
               if (CharUnicodeInfo.GetUnicodeCategory(chars[0]) == 
                                               UnicodeCategory.OtherNotAssigned)
                  Console.Write(" {0} ", Convert.ToChar(0x20));
               // Display a space for code points in the private use area.
               else if (CharUnicodeInfo.GetUnicodeCategory(chars[0]) ==
                                              UnicodeCategory.PrivateUse)
                 Console.Write(" {0} ", Convert.ToChar(0x20));
               // Is surrogate pair a valid character?
               // Note that the console will interpret the high and low surrogate
               // as separate (and unrecognizable) characters.
               else if (chars.Length > 1 && CharUnicodeInfo.GetUnicodeCategory(chars, 0) == 
                                            UnicodeCategory.OtherNotAssigned)
                  Console.Write(" {0} ", Convert.ToChar(0x20));
               else
                  Console.Write(" {0} ", chars); 
            }

            switch (c) {
               case 3: case 11:
                  Console.Write("-");
                  break;
               case 7:
                  Console.Write("--");
                  break;
            }
         }

         Console.WriteLine();
         if (0 < r && r % 0x10 == 0)
            Console.WriteLine();
      }
   }

   private static uint RoundUpToMultipleOf(uint b, uint u)
   {
      return RoundDownToMultipleOf(b, u) + b;
   }

   private static uint RoundDownToMultipleOf(uint b, uint u)
   {
      return u - (u % b);
   }
}
// If the example is run with the command line
//       DisplayChars 0400 04FF true
// the example displays the Cyrillic character set as follows:
//       Output encoding set to UTF-16
//       00400  Ѐ  Ё  Ђ  Ѓ - Є  Ѕ  І  Ї -- Ј  Љ  Њ  Ћ - Ќ  Ѝ  Ў  Џ
//       00410  А  Б  В  Г - Д  Е  Ж  З -- И  Й  К  Л - М  Н  О  П
//       00420  Р  С  Т  У - Ф  Х  Ц  Ч -- Ш  Щ  Ъ  Ы - Ь  Э  Ю  Я
//       00430  а  б  в  г - д  е  ж  з -- и  й  к  л - м  н  о  п
//       00440  р  с  т  у - ф  х  ц  ч -- ш  щ  ъ  ы - ь  э  ю  я
//       00450  ѐ  ё  ђ  ѓ - є  ѕ  і  ї -- ј  љ  њ  ћ - ќ  ѝ  ў  џ
//       00460  Ѡ  ѡ  Ѣ  ѣ - Ѥ  ѥ  Ѧ  ѧ -- Ѩ  ѩ  Ѫ  ѫ - Ѭ  ѭ  Ѯ  ѯ
//       00470  Ѱ  ѱ  Ѳ  ѳ - Ѵ  ѵ  Ѷ  ѷ -- Ѹ  ѹ  Ѻ  ѻ - Ѽ  ѽ  Ѿ  ѿ
//       00480  Ҁ  ҁ  ҂  ҃ - ҄  ҅  ҆  ҇ -- ҈  ҉  Ҋ  ҋ - Ҍ  ҍ  Ҏ  ҏ
//       00490  Ґ  ґ  Ғ  ғ - Ҕ  ҕ  Җ  җ -- Ҙ  ҙ  Қ  қ - Ҝ  ҝ  Ҟ  ҟ
//       004a0  Ҡ  ҡ  Ң  ң - Ҥ  ҥ  Ҧ  ҧ -- Ҩ  ҩ  Ҫ  ҫ - Ҭ  ҭ  Ү  ү
//       004b0  Ұ  ұ  Ҳ  ҳ - Ҵ  ҵ  Ҷ  ҷ -- Ҹ  ҹ  Һ  һ - Ҽ  ҽ  Ҿ  ҿ
//       004c0  Ӏ  Ӂ  ӂ  Ӄ - ӄ  Ӆ  ӆ  Ӈ -- ӈ  Ӊ  ӊ  Ӌ - ӌ  Ӎ  ӎ  ӏ
//       004d0  Ӑ  ӑ  Ӓ  ӓ - Ӕ  ӕ  Ӗ  ӗ -- Ә  ә  Ӛ  ӛ - Ӝ  ӝ  Ӟ  ӟ
//       004e0  Ӡ  ӡ  Ӣ  ӣ - Ӥ  ӥ  Ӧ  ӧ -- Ө  ө  Ӫ  ӫ - Ӭ  ӭ  Ӯ  ӯ
//       004f0  Ӱ  ӱ  Ӳ  ӳ - Ӵ  ӵ  Ӷ  ӷ -- Ӹ  ӹ  Ӻ  ӻ - Ӽ  ӽ  Ӿ  ӿ

Die Console -Klasse enthält die folgenden Methoden für die Konsoleneingabe zu lesen und Schreiben der Ausgabe in der Konsole:

  • Die Überladungen der ReadKey Methode lesen ein einzelnes Zeichen.

  • Die ReadLine -Methode liest eine ganze Zeile der Eingabe.

  • Die Write überladene Methoden eine Instanz eines Werttyps, ein Array von Zeichen oder eine Gruppe von Objekten in eine formatierte oder unformatierte Zeichenfolge konvertieren und diese Zeichenfolge dann in die Konsole geschrieben.

  • Eine parallele Satz WriteLine Methode überlädt die gleiche als Zeichenfolge Ausgabe der Write überlädt, aber auch eine Zeichenfolge für den Zeilenabschluss hinzufügen.

Die Console -Klasse enthält auch Methoden und Eigenschaften für die folgenden Vorgänge ausführen:

  • Abrufen oder Festlegen der Größe des Bildschirmpuffers. Die BufferHeight und BufferWidth Eigenschaften können Sie abrufen oder Festlegen der Puffer Höhe und Breite, und die SetBufferSize Methode können Sie die Puffergröße in einen einzigen Methodenaufruf festgelegt.

  • Abrufen oder Festlegen der Größe des Konsolenfensters. Die WindowHeight und WindowWidth Eigenschaften können Sie abrufen oder Festlegen der Höhe und Breite, und die SetWindowSize Methode ermöglicht das Festlegen der Größe des in einem Methodenaufruf.

  • Abrufen oder Festlegen der Größe des Cursors. Die CursorSize -Eigenschaft gibt die Höhe des Cursors in einer Zeichenzelle.

  • Abrufen oder Festlegen der Position des Konsolenfensters relativ zum Bildschirmpuffer. Die WindowTop und WindowLeft Eigenschaften können Sie abrufen oder Festlegen der oberen Zeile und am weitesten links stehende Spalte des Bildschirmpuffers, die im Konsolenfenster angezeigt wird und die SetWindowPosition -Methode können Sie diese Werte in einem einzelnen Methodenaufruf festlegen.

  • Abrufen oder Festlegen der Position des Cursors durch Abrufen oder Festlegen der CursorTop und CursorLeft Eigenschaft, oder legen Sie die Position des Cursors durch Aufrufen der SetCursorPosition Methode.

  • Verschieben oder Löschen von Daten in den Bildschirmpuffer durch Aufrufen der MoveBufferArea oder Clear Methode.

  • Abrufen oder Festlegen der Vordergrund- und Hintergrundfarben mithilfe der ForegroundColor und BackgroundColor Eigenschaften, oder die Hintergrund- und Vordergrundfarben ihre Standardfarben durch Aufrufen der ResetColor Methode.

  • Spielen Sie den Sound eines Signaltons auf dem Konsolenlautsprecher durch Aufrufen der Beep Methode.

In .NET Framework auf dem Desktop die Console Klasse verwendet die zurückgegebene Codierung GetConsoleCP und GetConsoleOutputCP, die in der Regel wird eine Codepage-Codierung. Zum Beispiel ist Code, auf Systemen, die mit der Kultur Englisch (USA), Codepage 437 ist die Codierung, die standardmäßig verwendet wird. Allerdings .NET Core kann nur eine beschränkte Teilmenge des diese Codierung zur Verfügung stellen. Wenn dies der Fall ist Encoding.UTF8 als Standard-Codierung für die Konsole verwendet wird.

Wenn Ihre app auf bestimmte codepagecodierungen abhängig ist, können Sie weiterhin diese verfügbar machen wie folgt vor rufen Sie eine Console Methoden:

  1. Fügen Sie einen Verweis auf die System.Text.Encoding.CodePages.dll-Assembly zum Projekt.

  2. Abrufen der EncodingProvider -Objekt aus der CodePagesEncodingProvider.Instance Eigenschaft.

  3. Übergeben der EncodingProvider -Objekt die Encoding.RegisterProvider Methode, um zusätzliche Codierung vom Codierung verfügbaren Anbieter unterstützt werden.

Die Console Klasse wird dann automatisch die System Standardzeichensatz verwenden statt UTF8, vorausgesetzt, dass Sie die codieren Anbieter registriert haben, vor dem Aufruf einer Console Ausgabemethoden.

Im folgenden Beispiel wird veranschaulicht, wie Daten aus lesen und Schreiben von Daten in der standardmäßigen Eingabe- und Ausgabedatenströme. Beachten Sie, dass diese Streams mit umgeleitet werden, können die SetIn und SetOut Methoden.

using System;

public class Example {
    public static void Main() 
    {
        Console.Write("Hello ");
        Console.WriteLine("World!");
        Console.Write("Enter your name: ");
        String name = Console.ReadLine();
        Console.Write("Good day, ");
        Console.Write(name);
        Console.WriteLine("!");
    }
}
// The example displays output similar to the following:
//       Hello World!
//       Enter your name: James
//       Good day, James!

.NET Framework
Verfügbar seit 1.1
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0

Dieser Typ ist threadsicher.

Zurück zum Anfang
Anzeigen: