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

 

Veröffentlicht: Oktober 2016

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

Informationen zum Durchsuchen des .NET Framework-Quellcodes für diesen Typ 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 dem Benutzer mit dem Betriebssystem oder mit einer textbasierten Konsolenanwendung durch Eingabe von Texteingabe über die Tastatur des Computers sowie durch Lesen der Ausgabe von Text aus der Terminaldienste Computer interagieren. Beispielsweise wird im Windows-Betriebssystem ein die Konsole im Eingabeaufforderungsfenster wird aufgerufen, und MS-DOS-Befehle akzeptiert. Die Console Klasse bietet grundlegende unterstützt für Anwendungen, die Zeichen aus dem Lesen und Schreiben von Zeichen in der Konsole.

Informationen zum Entwickeln von mit der Console Klasse, finden Sie unter den folgenden Abschnitten:

Wenn eine Konsolenanwendung gestartet wird, ordnet das Betriebssystem die drei e/a-Streams mit der Konsole: Standard Eingabe Datenstrom, den Standardausgabestream und Standard-Fehlerausgabestream. Die Anwendung kann Benutzereingaben aus dem Standardeingabestream gelesen; Schreiben Sie normale Daten in den Standardausgabestream. und Fehlerdaten in den Standard-Fehlerausgabestream geschrieben. Diese Streams werden angezeigt, als die Werte der an die Anwendung die Console.In, Console.Out, und Console.Error Eigenschaften.

Wird standardmäßig der Wert von 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 eine Konsolenfenster darstellen. Allerdings können Sie diese Eigenschaften in Streams festlegen, die nicht das Konsolenfenster angezeigt oder die Tastatur darstellen; Beispielsweise können Sie diese Eigenschaften in Streams festlegen, die Dateien darstellen. Rufen Sie die Standardeingabe, Standardausgabe oder Standardfehlerstream umgeleitet, die Console.SetIn, Console.SetOut, oder Console.SetError Methode bzw. E/a-Vorgänge, die 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, z. B. sind TextReader.ReadLineAsync, synchron ausgeführt werden, wenn das Objekt einen Konsole Stream darstellt.

System_CAPS_noteHinweis

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

ConsoleKlassenmember, die normalerweise ordnungsgemäß funktionieren, wenn der zugrunde liegende Stream einer-Konsole weitergeleitet wird möglicherweise eine Ausnahme ausgelöst, wenn der Stream, z. B. in einer Datei umgeleitet wird. Programmieren Sie Ihre Anwendung zum Abfangen von System.IO.IOException Ausnahmen, wenn Sie einen Standardstream umleiten. Sie können auch die IsOutputRedirected, IsInputRedirected, und IsErrorRedirected Eigenschaften zu bestimmen, ob ein standard-Datenstrom umgeleitet wird, vor dem Ausführen eines Vorgangs, der auslöst ein System.IO.IOException Ausnahme.

Es ist manchmal hilfreich, die Mitglieder der Streamobjekte dargestellte explizit aufrufen der In, Out, und Error Eigenschaften. Beispielsweise wird 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 werden gefolgt von der Standardeinstellung Zeile Beendigung Zeichenfolge, also einen Wagenrücklauf und Zeilenvorschub ("\r\n"). Allerdings die Console Klasse bietet eine entsprechende Methode zum Schreiben von Daten in den Standard-Fehlerausgabestream oder eine Eigenschaft, die die Zeichenfolge für den Zeilenabschluss für in diesen Datenstrom geschriebene Daten geändert.

Sie können dieses Problem beheben, indem Sie festlegen der TextWriter.NewLine Eigenschaft von der Out oder Error Eigenschaft zu einer anderen Zeile Endzeichenfolge. Beispielsweise legt der folgende C#-Anweisung die Zeichenfolge für den Standard-Fehlerausgabestream beenden zwei Carriage return, Wagenrücklauf und Zeilenvorschub Sequenzen:

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

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

Console.Error.WriteLine();

Zwei eng verwandte Funktionen der Verwaltungskonsole sind Bildschirmpuffer und das Konsolenfenster. Text wird tatsächlich lesen oder in Streams, die im Besitz der Konsole geschrieben, aber angezeigt werden, zu lesen oder zu einem Bereich, der im Besitz der Konsole namens Bildschirmpuffer geschrieben werden. Bildschirmpuffer ist ein Attribut der Konsole und ist unterteilt als ein rechteckigen Raster mit Zeilen und Spalten, in dem jede Schnittmenge Raster oder Zeichenzelle, ein Zeichen enthalten. Jedes Zeichen hat eine eigene Vordergrundfarbe, und jede Zeichenzelle verfügt über eine eigene Hintergrundfarbe.

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

Ein Cursor zeigt die Bildschirmpufferposition, in denen Text zurzeit gelesen oder geschrieben werden. Der Cursor kann ausgeblendet oder sichtbar gemacht werden, und seine Höhe kann geändert werden. Wenn der Cursor sichtbar ist, wird die Position des Konsolenfensters automatisch verschoben, damit der Cursor immer in der Ansicht befindet.

Der Ursprung für Zeichenzellenkoordinaten im Bildschirmpuffer ist die linke obere Ecke, und die Positionen des Cursors und im Konsolenfenster werden relativ zum Ursprung gemessen. Verwenden Sie nullbasierten Indizes Positionen an. 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 mit der aktuellen Konsole-Codepage, die standardmäßig das Gebietsschema des Systems definiert schreibt. Eine Codepage kann nur eine Teilmenge der verfügbaren Unicode-Zeichen verarbeiten, sodass, wenn Sie versuchen, Anzeige von Zeichen, die nicht durch eine bestimmte Codepage der Konsole zugeordnet sind nicht alle Zeichen angezeigt werden, oder sie genau darstellen können. Dieses Problem wird anhand des folgenden Beispiels veranschaulicht. Sie versucht, die die Kyrillisch von U + 0410, U + 044F-Zeichen in der Konsole anzeigen. 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 der Codepage 437 nicht kyrillische Zeichen zugeordnet werden können.

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, den Console -Klasse unterstützt auch die UTF-16-Codierung mit der UnicodeEncoding Klasse. Unicode-Zeichen in der Konsole angezeigt. Sie legen die 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, die zum Rendern dieses Zeichens erforderlich ist. Um erfolgreich Unicode-Zeichen in der Konsole angezeigt wird, muss die Schriftart der Konsole auf einem nicht Raster- oder TrueType-Schriftart, z. B. Consolas oder Lucida Console festgelegt werden. Das folgende Beispiel zeigt, wie Sie programmgesteuert die Schriftart aus einem Raster-Schriftart Lucida Console auswählen 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 angezeigt. So zeigt z. B. die Schriftart Lucida Console nur 643 von den ungefähr 64.000 verfügbaren Zeichen von U + 0021 bis U + FB02. Um anzuzeigen, die eine besondere 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 der Zeichentabelle Fenster.

Windows verwendet die Verknüpfung von Schriftarten, um Symbole anzuzeigen, die in einer bestimmten Schriftart nicht verfügbar sind. Informationen zum Anzeigen von internationale Zeichensätze-schriftartverknüpfung, finden Sie unter Globalization Step-by-Step: Fonts. Verknüpfte Schriftarten sind in den Unterschlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink der Registrierung definiert. Jeder Eintrag zugeordneten dieser Unterschlüssel entspricht dem Namen einer Basisklasse Schriftart, und ihr Wert ist ein Zeichenfolgenarray, das die Schriftartdateien definiert und die Schriftarten, die auf der 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, eine verknüpfte Schriftart, die mit dem Namen SimSun gefunden in eine Schriftartdatei, die mit dem Namen simsun.ttc, die vereinfachte Han Zeichen anzeigt.

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 Einschränkungen:

  • UTF-32-Codierung wird nicht unterstützt. Die einzige unterstützte Unicode-Codierungen sind UTF-8 und UTF-16, die dargestellt werden. durch die UTF8Encoding und UnicodeEncoding -Klassen bzw. Server.

  • Bidirektionale Ausgabe wird nicht unterstützt.

  • Anzeige von Zeichen außerhalb der grundlegenden mehrsprachigen Ebene (d. h. von Ersatzzeichenpaaren) wird nicht unterstützt, 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 einer Basiszeichen und mindestens ein Kombinationszeichen bestehen) werden als separate Zeichen angezeigt. Um diese Einschränkung zu umgehen, können Sie die anzuzeigende Zeichenfolge, durch den Aufruf Normalisieren der String.Normalize Methode vor der Ausgabe an die Konsole gesendet. Im folgenden Beispiel Sequenz eine Zeichenfolge, enthält das Kombinieren von-Zeichen, U + 0061 ist U + 0308 in der Konsole angezeigt wird, als zwei Zeichen, bevor die Ausgabezeichenfolge normalisiert wird, und als einzelnes Zeichen nach der String.Normalize -Methode aufgerufen wird.

    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 einer sinnvollen Lösung ist nur dann, wenn der Unicode-standard für das Zeichen ein vorab zusammengesetzter Formular enthält, die einem bestimmten Combining entspricht, Sequenz Zeichen.

  • Wenn eine Schriftart ein Symbol für einen Codepunkt im Bereich "other" bereitstellt, wird dieses Symbol angezeigt. Da Zeichen im Bereich "other" anwendungsspezifische sind, kann dies jedoch nicht das erwartete Symbol sein.

Das folgende Beispiel zeigt einen Bereich von Unicode-Zeichen in der Konsole an. Im Beispiel drei Befehlszeilen-Parameter akzeptiert: der Anfang des Bereichs angezeigt, das Ende des Bereichs angezeigt und, ob die aktuelle Konsole Codierung verwendet (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 Überladungen der Methode eine Instanz von einem Werttyp, ein Array von Zeichen oder einen Satz von Objekten in eine formatierte oder unformatierte Zeichenfolge konvertieren, und klicken Sie dann diese Zeichenfolge in die Konsole schreiben.

  • Eine parallele Satz von WriteLine methodenüberladungen, 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 Größe des Puffers in einen einzigen Methodenaufruf werden soll.

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

  • 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 die abzurufen oder festzulegen, die oberste Zeile und die 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 werden soll.

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

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

  • Abrufen oder Festlegen der Farben für Vordergrund und Hintergrund mithilfe der ForegroundColor und BackgroundColor Eigenschaften oder Zurücksetzen die Hintergrund- und Vordergrundfarben, deren Standardfarben durch Aufrufen der ResetColor Methode.

  • Wiedergeben von den Sound eines Signaltons auf dem Konsolenlautsprecher durch Aufrufen der Beep Methode.

In .NET Framework auf dem Desktop die Console Klasse verwendet die Codierung zurückgegebenes GetConsoleCP und GetConsoleOutputCP, die in der Regel wird eine Codepage-Codierung. Beispielsweise ist Code, auf Systemen, die mit der Kultur Englisch (Vereinigte Staaten), Codepage 437 ist die Codierung, die standardmäßig verwendet wird. Allerdings .NET Core kann nur eine beschränkte Teilmenge dieser Codierungen verfügbar machen. Wenn dies der Fall ist Encoding.UTF8 als die standardcodierung für die Konsole verwendet wird.

Wenn Ihre app bestimmte codepagecodierungen abhängig ist, können Sie weiterhin sie verfügbar machen mithilfe der folgenden Schritte vor rufen Sie eine Console Methoden:

  1. Fügen Sie einen Verweis auf die Assembly System.Text.Encoding.CodePages.dll zu Ihrem Projekt ein.

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

  3. Übergeben der EncodingProvider -Objekt an die Encoding.RegisterProvider Methode zum Erstellen von zusätzlichen Codierungen, die von der Codierung verfügbaren Anbieter unterstützt.

Die Console Klasse automatisch verwendet dann das System standardcodierung anstatt UTF8, vorausgesetzt, dass Sie die codierungsanbieter registriert haben, bevor er einen Console Ausgabemethoden.

Im folgenden Beispiel wird veranschaulicht, wie Daten aus lesen und Schreiben von Daten in die standardmäßigen Eingabe- und Ausgabestreams. 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: