(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Console-Klasse

Stellt die Standardstreams für Eingabe, Ausgabe und Fehler bei Konsolenanwendungen dar. Die Klasse erlaubt keine Vererbung.

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

public static class Console

Der Console-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftStatischer MemberBackgroundColorRuft die Hintergrundfarbe der Konsole ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberBufferHeightRuft die Höhe des Pufferbereichs ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberBufferWidthRuft die Breite des Pufferbereichs ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberCapsLockRuft einen Wert ab, der angibt, ob die FESTSTELLTASTE-Tastaturumschalttaste aktiviert oder deaktiviert ist.
Öffentliche EigenschaftStatischer MemberCursorLeftRuft die Spaltenposition des Cursors im Pufferbereich ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberCursorSizeRuft die Höhe des Cursors innerhalb einer Zeichenzelle ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberCursorTopRuft die Zeilenposition des Cursors im Pufferbereich ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberCursorVisibleRuft einen Wert ab, der angibt, ob der Cursor sichtbar ist, oder legt diesen fest.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkErrorRuft den Standard-Fehlerausgabestream ab.
Öffentliche EigenschaftStatischer MemberForegroundColorRuft die Vordergrundfarbe der Konsole ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkInRuft den Standardeingabestream ab.
Öffentliche EigenschaftStatischer MemberInputEncodingRuft die Codierung ab, die die Konsole verwendet, um die Eingabe zu lesen, oder legt diese fest.
Öffentliche EigenschaftStatischer MemberIsErrorRedirectedRuft einen Wert ab, der angibt, ob der Fehlerausgabedatenstrom von dem Standardfehlerstream umgeleitet wurde.
Öffentliche EigenschaftStatischer MemberIsInputRedirectedRuft einen Wert ab, der angibt, ob die Eingabe aus dem Standardeingabestream umgeleitet wurde.
Öffentliche EigenschaftStatischer MemberIsOutputRedirectedRuft einen Wert ab, der angibt, ob die Ausgabe aus dem Standardausgabestream umgeleitet wurde.
Öffentliche EigenschaftStatischer MemberKeyAvailableRuft einen Wert ab, der angibt, ob ein Tastendruck im Eingabestream vorhanden ist.
Öffentliche EigenschaftStatischer MemberLargestWindowHeightRuft die entsprechend der aktuellen Schriftart und Bildschirmauflösung größtmögliche Anzahl von Konsolenfensterzeilen ab.
Öffentliche EigenschaftStatischer MemberLargestWindowWidthRuft die entsprechend der aktuellen Schriftart und Bildschirmauflösung größtmögliche Anzahl von Konsolenfensterspalten ab.
Öffentliche EigenschaftStatischer MemberNumberLockRuft einen Wert ab, der angibt, ob die NUM-Tastaturumschalttaste aktiviert oder deaktiviert ist.
Öffentliche EigenschaftStatischer MemberUnterstützt von XNA FrameworkOutRuft den Standardausgabestream ab.
Öffentliche EigenschaftStatischer MemberOutputEncodingRuft die Codierung ab, die die Konsole verwendet, um die Ausgabe zu schreiben, oder legt diese fest.
Öffentliche EigenschaftStatischer MemberTitleRuft den auf der Konsolentitelleiste anzuzeigenden Titel ab oder legt diesen fest.
Öffentliche EigenschaftStatischer MemberTreatControlCAsInputRuft 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.
Öffentliche EigenschaftStatischer MemberWindowHeightRuft die Höhe des Konsolenfensterbereichs ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberWindowLeftRuft die am weitesten links stehende Position des Konsolenfensterbereich im Verhältnis zum Bildschirmpuffer ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberWindowTopRuft die oberste Position des Konsolenfensterbereich im Verhältnis zum Bildschirmpuffer ab oder legt diese fest.
Öffentliche EigenschaftStatischer MemberWindowWidthRuft die Breite des Konsolenfensters ab oder legt diese fest.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeStatischer MemberBeep()Gibt den Sound eines Signaltons auf dem Konsolenlautsprecher wieder.
Öffentliche MethodeStatischer MemberBeep(Int32, Int32)Gibt den Sound eines Signaltons mit einer angegebenen Frequenz und Dauer auf dem Konsolenlautsprecher wieder.
Öffentliche MethodeStatischer MemberClearLöscht die Anzeigeinformationen aus dem Konsolenpuffer und dem entsprechenden Konsolenfenster.
Öffentliche MethodeStatischer MemberMoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32)Kopiert einen angegebenen Quellbereich des Bildschirmpuffers in einen angegebenen Zielbereich.
Öffentliche MethodeStatischer MemberMoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32, Char, ConsoleColor, ConsoleColor)Kopiert einen angegebenen Quellbereich des Bildschirmpuffers in einen angegebenen Zielbereich.
Öffentliche MethodeStatischer MemberOpenStandardError()Ruft den Standardfehlerstream ab.
Öffentliche MethodeStatischer MemberOpenStandardError(Int32)Ruft den Standardfehlerstream ab, der auf eine angegebene Puffergröße festgelegt wird.
Öffentliche MethodeStatischer MemberOpenStandardInput()Ruft den Standardeingabestream ab.
Öffentliche MethodeStatischer MemberOpenStandardInput(Int32)Ruft den Standardeingabestream ab, der auf eine angegebene Puffergröße festgelegt wird.
Öffentliche MethodeStatischer MemberOpenStandardOutput()Ruft den Standardausgabestream ab.
Öffentliche MethodeStatischer MemberOpenStandardOutput(Int32)Ruft den Standardausgabestream ab, der auf eine angegebene Puffergröße festgelegt wird.
Öffentliche MethodeStatischer MemberReadLiest das nächste Zeichen aus dem Standardeingabestream.
Öffentliche MethodeStatischer MemberReadKey()Ruft die nächste vom Benutzer gedrückte Zeichen- oder Funktionstaste ab. Die gedrückte Taste wird im Konsolenfenster angezeigt.
Öffentliche MethodeStatischer MemberReadKey(Boolean)Ruft die nächste vom Benutzer gedrückte Zeichen- oder Funktionstaste ab. Die gedrückte Taste wird optional im Konsolenfenster angezeigt.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkReadLineLiest die nächste Zeile von Zeichen aus dem Standardeingabestream.
Öffentliche MethodeStatischer MemberResetColorLegt die Vordergrund- und Hintergrundkonsolenfarben auf die entsprechenden Standardwerte fest.
Öffentliche MethodeStatischer MemberSetBufferSizeLegt die Höhe und die Breite des Bildschirmpufferbereichs auf die angegebenen Werte fest.
Öffentliche MethodeStatischer MemberSetCursorPositionLegt die Position des Cursors fest.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkSetErrorLegt die Error-Eigenschaft auf den angegebenen TextWriter fest.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkSetInLegt die In-Eigenschaft auf den angegebenen TextReader fest.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkSetOutLegt die Out-Eigenschaft auf den angegebenen TextWriter fest.
Öffentliche MethodeStatischer MemberSetWindowPositionLegt die Position des Konsolenfensters relativ zum Bildschirmpuffer fest.
Öffentliche MethodeStatischer MemberSetWindowSizeLegt die Höhe und die Breite des Konsolenfensters auf die angegebenen Werte fest.
Öffentliche MethodeStatischer MemberWrite(Boolean)Schreibt die Textdarstellung des angegebenen booleschen Werts in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(Char)Schreibt das angegebene Unicode-Zeichen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(Char[])Schreibt das angegebene Array von Unicode-Zeichen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWrite(Decimal)Schreibt die Textdarstellung des angegebenen Decimal-Werts in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWrite(Double)Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit doppelter Genauigkeit in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(Int32)Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl mit Vorzeichen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWrite(Int64)Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl mit Vorzeichen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(Object)Schreibt die Textdarstellung des angegebenen Objekts in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWrite(Single)Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit einfacher Genauigkeit in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(String)Schreibt die angegebene Zeichenfolge in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWrite(UInt32)Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl ohne Vorzeichen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWrite(UInt64)Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl ohne Vorzeichen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(String, Object)Schreibt die Textdarstellung des angegebenen Objekts unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(String, Object[])Schreibt die Textdarstellung des angegebenen Arrays von Objekten unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(Char[], Int32, Int32)Schreibt das angegebene Unterarray von Unicode-Zeichen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(String, Object, Object)Schreibt die Textdarstellung der angegebenen Objekte unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWrite(String, Object, Object, Object)Schreibt die Textdarstellung der angegebenen Objekte unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWrite(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.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine()Schreibt das aktuelle Zeichen für den Zeilenabschluss in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWriteLine(Boolean)Schreibt die Textdarstellung des angegebenen booleschen Werts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(Char)Schreibt das angegebene Unicode-Zeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(Char[])Schreibt das angegebenen Array von Unicode-Zeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWriteLine(Decimal)Schreibt die Textdarstellung des angegebenen Decimal-Werts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWriteLine(Double)Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit doppelter Genauigkeit, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(Int32)Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl mit Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWriteLine(Int64)Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl mit Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(Object)Schreibt die Textdarstellung des angegebenen Objekts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWriteLine(Single)Schreibt die Textdarstellung der angegebenen Gleitkommazahl mit einfacher Genauigkeit, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(String)Schreibt den angegebenen Zeichenfolgenwert, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWriteLine(UInt32)Schreibt die Textdarstellung der angegebenen 32-Bit-Ganzzahl ohne Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberWriteLine(UInt64)Schreibt die Textdarstellung der angegebenen 64-Bit-Ganzzahl ohne Vorzeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(String, Object)Schreibt die Textdarstellung des angegebenen Objekts, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, unter Verwendung der angegebenen Formatinformationen in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(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.
Öffentliche MethodeStatischer MemberWriteLine(Char[], Int32, Int32)Schreibt das angegebene Unterarray von Unicode-Zeichen, gefolgt vom aktuellen Zeichen für den Zeilenabschluss, in den Standardausgabestream.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(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.
Öffentliche MethodeStatischer MemberUnterstützt von XNA FrameworkWriteLine(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.
Öffentliche MethodeStatischer MemberWriteLine(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.
Zum Seitenanfang

  NameBeschreibung
Öffentliches EreignisStatischer MemberCancelKeyPressTritt 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).
Zum Seitenanfang

Die Konsole ist ein Betriebssystemfenster, in das Benutzer mit dem Betriebssystem interagiert, oder mit einem textbasierten Konsolenanwendung, indem Sie Text eingegeben haben, durch die Computertastatur Sie eingeben, und durch Lesen der Textausgabe vom Computerterminal. Im Windows-Betriebssystem, wird die Konsole das Eingabeaufforderungsfenster aufgerufen und MS-DOS- Befehle akzeptiert. Die Console-Klasse stellt grundlegende Funktionen zur Unterstützung von Anwendungen bereit, die Zeichen von der Konsole lesen und auf die Konsole schreiben.

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

Konsolen-E/A-Streams

Beim Starten einer Konsolenanwendung, Betriebssystem- automatisch drei E/A-Streams mit der Konsole verknüpft: Standardeingabestream, Standardausgabestream und Standardfehlerausgabestream. Die Anwendung kann Benutzereingaben aus dem Standardeingabestream lesen, normale Daten in den Standardausgabestream und Fehlerdaten in den Standard-Fehlerausgabestream schreiben. Für die Anwendung gelten diese Streams als Werte der Eigenschaften Console.In, Console.Out und Console.Error.

Standardmäßig ist der Wert der In-Eigenschaft ein System.IO.TextReader-Objekt, und die Werte der Out-Eigenschaft und der Error-Eigenschaft sind System.IO.TextWriter-Objekte. Diese Eigenschaften können allerdings auch auf Streams festgelegt werden, die nicht die Konsole darstellen, z. B. auf Streams, die Dateien darstellen. Rufen Sie die Methode Console.SetIn, Console.SetOut oder Console.SetError auf, um den Standardeingabe-, Standardausgabe oder Standardfehlerstream umzuleiten. E/A-Vorgänge, die diese Streams verwenden, werden, damit es bedeutet, dass mehrere Threads von lesen können, oder schreibt in, die Streams synchronisiert.

HinweisHinweis

Verwenden Sie die Console-Klasse nicht auf die Anzeige, die im unbeaufsichtigten Anwendungen, z Serveranwendungen ausgegeben wird. Aufrufe von Methoden wie Console.Write und Console.WriteLine haben keine Auswirkungen in GUI-Anwendungen.

Console -Klassenmember, die normalerweise ordnungsgemäß funktionieren, wenn der zugrunde liegende Stream auf eine Konsole zeigt, lösen möglicherweise eine Ausnahme aus, wenn der Stream umgeleitet wird, z. B. an eine Datei. Programmieren Sie die Anwendung, System.IO.IOException Ausnahmen abzufangen, wenn Sie einen Standardstream umleiten. Sie können IsOutputRedirected, IsInputRedirected und IsErrorRedirected auch Eigenschaften verwenden, um zu bestimmen, ob ein Standardstream umgeleitet wird, bevor Sie einen Vorgang ausführt, der eine System.IO.IOException Ausnahme auslöst.

Manchmal ist es sinnvoll, die Member der Streamobjekte explizit aufzurufen, die von In, Out und Error-Eigenschaften dargestellt werden. Die Console.ReadLine-Methode liest z. B. standardmäßig Eingaben aus dem Standardeingabestream. Entsprechend schreibt die Console.WriteLine-Methode Daten in den Standardausgabestream, und die Daten aus der Standardzeilen-Beendigungszeichenfolge befolgt, die ein Wagenrücklaufzeichen und ein Zeilenvorschub ist ("\r\n"). Die Console-Klasse stellt jedoch keine entsprechende Methode bereit, mit der Daten in den Standard-Fehlerausgabestream geschrieben werden können, und keine Eigenschaft, mit der die Zeichenfolge für den Zeilenabschluss für in diesen Stream geschriebene Daten geändert werden kann.

Sie können dieses Problem beheben, indem Sie die TextWriter.NewLine-Eigenschaft der Out-Eigenschaft oder der Error-Eigenschaft auf eine andere Zeichenfolge für den Zeilenabschluss festlegen. Beispielsweise legt die folgenden Zeilenbeendigungszeichenfolge C#-Anweisung die für den Standardfehlerausgabestream auf zwei Wagenrücklauf und Zeilenvorschubsequenzen fest:

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

Sie können die WriteLine-Methode des Fehlerausgabestreamobjekts, wie in der folgenden C#-Anweisung dann explizit aufrufen:

Console.Error.WriteLine();

Bildschirmpuffer und Konsolenfenster

Zwei eng verbundene Features der Konsole sind der Bildschirmpuffer und das Konsolenfenster. Text wird eigentlich aus Streams gelesen oder in Streams geschrieben, deren Eigentümer die Konsole ist, auch wenn es den Anschein hat, als würden er aus einem Bereich gelesen oder in diesen geschrieben, der Bildschirmpuffer genannt wird und dessen Eigentümer die Konsole ist. Der Bildschirmpuffer ist ein Attribut der Konsole und ist als rechteckiges Raster aus Zeilen und Spalten angeordnet, in dem jeder Rasterschnittpunkt, also jede Zeichenzelle, ein Zeichen enthalten kann. Jedes Zeichen hat eine eigene Vordergrundfarbe, und jede Zeichenzelle verfügt über eine eigene Hintergrundfarbe.

Der Bildschirmpuffer wird in einem rechteckigen Bereich angezeigt, dem so genannten Konsolenfenster. Das Konsolenfenster ist ein weiteres Attribut der Konsole. Es stellt nicht die Konsole selbst dar, diese ist ein Betriebssystemfenster. Im Konsolenfenster wird in Zeilen und Spalten angeordnet, ist kleiner oder gleich der Größe des Bildschirmpuffers und kann verschoben werden, um verschiedene Bereiche des zugrunde liegenden Bildschirmpuffers anzuzeigen. Wenn der Bildschirmpuffer größer als das Konsolenfenster ist, zeigt die Konsole automatisch Schiebeleisten an, damit das Konsolenfenster neu über dem Bildschirmpufferbereich positioniert werden kann.

Ein Cursor gibt die Bildschirmpufferposition an, an der Text gerade gelesen oder geschrieben wird. Der Cursor kann ausgeblendet oder sichtbar gemacht werden, und seine Höhe kann geändert werden. Wenn der Cursor angezeigt wird, wird die Position des Konsolenfensters automatisch so verschoben, dass sich der Cursor immer im sichtbaren Bereich befindet.

Der Ursprung für Zeichenzellenkoordinaten im Anzeigepuffer ist die obere linke Ecke, und Position des Cursors und des Konsolenfensters werden relativ zu diesem Ursprung gemessen. Positionen werden mit nullbasierten Indizes angegeben, d. h., die oberste Zeile als Zeile 0 und die am weitesten linke Spalte als Spalte 0. Der maximale Wert für die Zeilen- und Spaltenindizes ist Int16.MaxValue.

Unicode-Unterstützung für die Konsole

Im Allgemeinen wird die Konsole schreibt Eingabe und Ausgabe, indem sie die aktuelle Konsolencodepage verwendet, die das Systemgebietsschema standardmäßig definiert. Eine Codepage kann nur eine Teilmenge verfügbarer Unicode-Zeichen behandeln, sodass, wenn Sie versuchen, Zeichen anzuzeigen, die nicht durch eine bestimmte Codepage zugeordnet sind, wurde die Konsole nicht, alle Zeichen angezeigt oder sie genau darzustellen. Dieses Problem wird anhand des folgenden Beispiels veranschaulicht. Sie versucht, die Zeichen des kyrillischen alphabetischen von U+0410 zu U+044F in der Konsole angezeigt werden. Wenn Sie das Beispiel auf einem System ausführen, das Konsolencodepage 437, wird jedes Zeichen durch ein Fragezeichen (?) ersetzt, da kyrillische Zeichen nicht auf die Zeichen der Codepage 437 zuordnen.


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, unterstützt die Console-Klasse UTF-8-Codierung mit der Klasse UTF8Encoding. Ab .NET Framework 4.5, unterstützt die Console-Klasse Codierung auch UTF-16 mit der Klasse UnicodeEncoding. So Unicode-Zeichen in der Konsole verwendet. Festlegen der Eigenschaft OutputEncoding auf UTF8Encoding oder UnicodeEncoding.

Unterstützung von Unicode-Zeichen fordert den Encoder, ein bestimmtes Unicode-Zeichen zu erkennen und benötigt auch eine Schriftart, die Glyphen erfordern können, um das Zeichen zu rendern. Um Unicode-Zeichen der Konsole erfolgreich anzuzeigen, muss die Konsolenschriftart auf ein NichtRaster oder eine TrueType-Schriftart wie Consolas Konsole oder Lucidas festgelegt werden. Das folgende Beispiel zeigt, wie Sie die Schrift von einer Rasterschriftart zu Lucida-Konsole programmgesteuert ä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];
   } 
}


Sie können jedoch nur eine Teilmenge TrueType-Schriftarten Symbole anzeigen. Beispielsweise zeigt die Lucida-Konsolenschriftart nur 643 der ungefähr 64.000 verfügbaren Zeichen von U+0021 zu U+FB02 an. Um anzuzeigen welche Zeichen eine bestimmte Schriftart unterstützt, öffnen Sie das Schriftarten Applet in der Systemsteuerung, wählen Sie die Option Zeichen suchen und wählen Sie die Schriftart aus deren Zeichensatz Sie in der Liste Schriftart des Fensters Zeichentabelle überprüfen möchten.

Windows verwendet die Schriftart, die verknüpft, um Symbole anzuzeigen, die nicht in einer bestimmten Schriftart verfügbar sind. Informationen über die Schriftart, die verknüpft, um zusätzliche Zeichensätze anzuzeigen, Sie finden Globalisierung schrittweise: Schriftarten. Verknüpfte Schriftarten werden im HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink Unterschlüssel der Registrierung definiert. Jeder Eintrag, der diesem Unterschlüssel zugeordnet wird, entspricht dem Namen einer niedrigen Schriftart, und sein Wert ist ein Array von Zeichenfolgen, das die und Schriftartdateien die Schriftarten definiert, die mit der Schriftart beziehen. Jeder Member des Arrays definiert eine verknüpfte Schriftart und die Form Schriftart-DateiName,SchriftartName an. Das folgende Beispiel veranschaulicht, wie Sie eine verknüpfte Schriftart programmgesteuert definieren können, die SimSun mit dem Namen, der in eine Schriftartdatei gefunden wird, die simsun.ttc eingeführt, das 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:

  • Die UTF-32-Codierung wird nicht unterstützt. Die einzigen unterstützten Unicode-Codierungen sind UTF-8 und UTF-16, die von der UTF8Encoding und UnicodeEncoding-Klassen dargestellt werden, bzw.

  • Bidirektionale Ausgabe wird nicht unterstützt.

  • Anzeige von Zeichen außerhalb der grundlegenden mehrsprachigen Fläche, also von Ersatzzeichenpaaren) wird nicht unterstützt, wenn sie in einer verknüpften Schriftartdatei definiert werden.

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

  • Kombinationszeichensequenzen (das heißt, Zeichen, die einem Basiszeichen und einem oder mehreren Kombinationszeichen bestehen), werden als separate Zeichen angezeigt. Um diese Einschränkung zu umgehen, können Sie die mit angezeigt werden Zeichenfolge normalisieren die String.Normalize-Methode aufrufen bevor Sie ausgegeben wurde die Konsole übertragen. Im folgenden Beispiel wird eine Zeichenfolge, die die U+0061 Kombinationszeichensequenz enthält, U+0308 der Konsole als zwei Zeichen angezeigt, bevor die Ausgabezeichenfolge normalisiert ist, und wenn ein 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 eine Projektmappe Normalisierung Gruppe ist, wenn der Unicode-Standard für das Zeichen ein vor-verfasstes Formular enthält, das einer bestimmten Kombinationszeichensequenz entspricht.

  • Wenn eine Schriftart ein Symbol für ein Codepunkt im Privatnutzungsbereich bereitgestellt wird, wird dieses Symbol angezeigt. Da Zeichen im Privatnutzungsbereich anwendungsspezifisch sind, ist möglicherweise nicht die erwartete Symbol.

Im folgenden Beispiel wird ein Bereich von Unicode-Zeichen in der Konsole an. Im Beispiel werden drei Befehlszeilenparameter: Anfang des Bereichs anzuzeigen, das Ende des Bereichs anzuzeigen sich und ob die aktuelle Konsolencodierung (false) oder UTF-16-Codierung (true). Es wird davon ausgegangen, dass die Konsole eine TrueType-Schriftart verwendet.


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  Ӱ  ӱ  Ӳ  ӳ - Ӵ  ӵ  Ӷ  ӷ -- Ӹ  ӹ  Ӻ  ӻ - Ӽ  ӽ  Ӿ  ӿ


Allgemeine Vorgänge

Die Console-Klasse enthält die folgenden Methoden zum Lesen der Konsoleneingabe und Schreiben die ausgegebene Konsole:

  • Die Überladungen der ReadKey-Methode liest ein einzelnes Zeichen.

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

  • Die Methodenüberladungen Write konvertiert eine Instanz eines Werttyps, des Arrays Zeichen oder eines Satzes von Objekten zu einer formatierten Zeichenfolge oder unformatierten und schreibt diese Zeichenfolge an die Konsole.

  • Ein Ähnlichkeitssatz WriteLine-Methodenüberladung gab derselben Zeichenfolge aus, dem die Write-Überladungen jedoch auch eine Zeilenbeendigungszeichenfolge hinzufügen.

Die Console-Klasse enthält auch Methoden und Eigenschaften, um die folgenden Vorgänge auszuführen:

  • Abrufen oder Festlegen der Größe des Bildschirmpuffers fest. Die Eigenschaften BufferHeight und BufferWidth können Sie abrufen, oder, die Pufferhöhe und -breite festzulegen, und die SetBufferSize-Methode können Sie sowohl die Puffergröße in einem einzelnen Methodenaufruf.

  • Abrufen oder Festlegen der Größe des Konsolenfensters fest. Die Eigenschaften WindowHeight und WindowWidth können Sie abrufen, oder, die Fensterhöhe und -breite festzulegen, und die SetWindowSize-Methode können Sie sowohl die Fenstergröße in einem einzelnen Methodenaufruf.

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

  • Abrufen oder Festlegen der Position des Konsolenfensters relativ zum Anzeigepuffer fest. Die Eigenschaften WindowTop und WindowLeft lassen Sie die oberste Zeile und die Spalte ganz links des Bildschirmpuffers abrufen oder festlegen, der im Konsolenfenster angezeigt wird, und die Methode SetWindowPosition können Sie diese Werte festgelegt in einem einzelnen Methodenaufruf.

  • Abrufen oder Festlegen die Cursorposition, indem Sie die Eigenschaften CursorTop und CursorLeft abrufen oder festlegen, ab oder legen Sie die Position des Cursors fest, indem Sie die SetCursorPosition-Methode aufrufen.

  • Verschieben Sie Daten im Anzeigepuffer, indem Sie die Methode MoveBufferArea oder Clear aufrufen.

  • Abrufen oder Festlegen die Vordergrund- und Hintergrundfarbe, indem Sie die Eigenschaften ForegroundColor und BackgroundColor verwenden, fest oder platzieren Sie den Hintergrund und Vordergrund ihren Standardfarben zurück, indem Sie die ResetColor-Methode aufrufen.

  • Geben Sie den Sound eines Signaltons durch den Konsolenlautsprecher erneut, indem Sie die Beep-Methode aufrufen.

Das folgende Beispiel zeigt, wie Daten liest und schreibt in der Daten, von Standardeingabe und den Ausgabestreams. Beachten Sie, dass diese Streams umgeleitet werden können, indem 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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Dieser Typ ist threadsicher.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft