(0) exportieren Drucken
Alle erweitern

Console.Read-Methode

Liest das nächste Zeichen aus dem Standardeingabestream.

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

public static int Read ()
public static int Read ()
public static function Read () : int

Rückgabewert

Das nächste Zeichen aus dem Eingabestream, bzw. -1, wenn derzeit keine weiteren Zeichen gelesen werden können.

AusnahmetypBedingung

IOException

Ein E/A-Fehler ist aufgetreten.

Die Read-Methode wird blockiert, solange Sie Eingabezeichen eingeben, und wird beendet, wenn Sie die Enter-TASTE drücken. Beim Drücken der EINGABETASTE wird eine plattformabhängige Zeilenabschlusssequenz an die Eingabe angehängt (unter Windows z. B. eine Sequenz aus Wagenrücklauf und Zeilenvorschub). Nachfolgende Aufrufe der Read-Methode rufen die Eingabe Zeichen für Zeichen ab. Nachdem das letzte Zeichen abgerufen wurde, wird Read wieder blockiert und der Zyklus wiederholt.

Beachten Sie, dass den Wert -1 nur erhalten, wenn Sie eine der folgenden Aktionen ausführen: Gleichzeitiges Drücken der Control-Modifizierertaste und der Z-Konsolentaste (STRG+Z), wodurch das Dateiendesignal ausgegeben wird, Drücken einer entsprechenden Taste, durch die das Dateiendesignal ausgegeben wird, z. B. unter Windows die F6-Funktionstaste, oder Umleiten des Eingabestreams an eine Quelle, z. B. eine Textdatei, die ein tatsächliches Dateiendezeichen besitzt.

Die ReadLine-Methode oder die KeyAvailable-Eigenschaft und die ReadKey-Methode sind der Read-Methode vorzuziehen.

Im folgenden Codebeispiel wird die Read-Methode veranschaulicht.

// This example demonstrates the Console.Read() method.
using System;

class Sample 
{
    public static void Main() 
    {
    string m1 = "\nType a string of text then press Enter. " +
                "Type '+' anywhere in the text to quit:\n";
    string m2 = "Character '{0}' is hexadecimal 0x{1:x4}.";
    string m3 = "Character     is hexadecimal 0x{0:x4}.";
    char ch;
    int x;
//
    Console.WriteLine(m1);
    do  
        {
        x = Console.Read();
        try 
            {
            ch = Convert.ToChar(x);
            if (Char.IsWhiteSpace(ch))
               {
               Console.WriteLine(m3, x);
               if (ch == 0x0a) 
                   Console.WriteLine(m1);
               }
            else
               Console.WriteLine(m2, ch, x);
            }
        catch (OverflowException e) 
            {
            Console.WriteLine("{0} Value read = {1}.", e.Message, x);
            ch = Char.MinValue;
            Console.WriteLine(m1);
            }
        } while (ch != '+');
    }
}
/*
This example produces the following results:

Type a string of text then press Enter. Type '+' anywhere in the text to quit:

The quick brown fox.
Character 'T' is hexadecimal 0x0054.
Character 'h' is hexadecimal 0x0068.
Character 'e' is hexadecimal 0x0065.
Character     is hexadecimal 0x0020.
Character 'q' is hexadecimal 0x0071.
Character 'u' is hexadecimal 0x0075.
Character 'i' is hexadecimal 0x0069.
Character 'c' is hexadecimal 0x0063.
Character 'k' is hexadecimal 0x006b.
Character     is hexadecimal 0x0020.
Character 'b' is hexadecimal 0x0062.
Character 'r' is hexadecimal 0x0072.
Character 'o' is hexadecimal 0x006f.
Character 'w' is hexadecimal 0x0077.
Character 'n' is hexadecimal 0x006e.
Character     is hexadecimal 0x0020.
Character 'f' is hexadecimal 0x0066.
Character 'o' is hexadecimal 0x006f.
Character 'x' is hexadecimal 0x0078.
Character '.' is hexadecimal 0x002e.
Character     is hexadecimal 0x000d.
Character     is hexadecimal 0x000a.

Type a string of text then press Enter. Type '+' anywhere in the text to quit:

^Z
Value was either too large or too small for a character. Value read = -1.

Type a string of text then press Enter. Type '+' anywhere in the text to quit:

+
Character '+' is hexadecimal 0x002b.

*/

// This example demonstrates the Console.Read() method.

import System.*;

class Sample
{
    public static void main(String[] args)
    {
        String m1 = "\nType a string of text then press Enter. "
            + "Type '+' anywhere in the text to quit:\n";
        String m2 = "Character '{0}' is hexadecimal 0x{1}.";
        String m3 = "Character     is hexadecimal 0x{0}.";
        char ch;
        int x;
        //
        Console.WriteLine(m1);

        do {
            x = Console.Read();
            try {
                ch = Convert.ToChar(x);
                if (Char.IsWhiteSpace(ch)) {
                    Console.WriteLine(m3, ((Int32)x).ToString("x4"));
                    if (ch == 0xA) {
                        Console.WriteLine(m1);
                    }
                }
                else {
                    Console.WriteLine(m2, ((Char)ch).ToString(), 
                        ((Int32)x).ToString("x4"));
                }
            }
            catch (OverflowException e) {
                Console.WriteLine("{0} Value read = {1}.", 
                    e.get_Message(), System.Convert.ToString(x));
                ch = Char.MinValue;
                Console.WriteLine(m1);
            }
        } while (ch != '+');
    } //main
} //Sample
/*
This example produces the following results:

Type a String of text then press Enter. Type '+' anywhere in the text to quit:

The quick brown fox.
Character 'T' is hexadecimal 0x0054.
Character 'h' is hexadecimal 0x0068.
Character 'e' is hexadecimal 0x0065.
Character     is hexadecimal 0x0020.
Character 'q' is hexadecimal 0x0071.
Character 'u' is hexadecimal 0x0075.
Character 'i' is hexadecimal 0x0069.
Character 'c' is hexadecimal 0x0063.
Character 'k' is hexadecimal 0x006b.
Character     is hexadecimal 0x0020.
Character 'b' is hexadecimal 0x0062.
Character 'r' is hexadecimal 0x0072.
Character 'o' is hexadecimal 0x006f.
Character 'w' is hexadecimal 0x0077.
Character 'n' is hexadecimal 0x006e.
Character     is hexadecimal 0x0020.
Character 'f' is hexadecimal 0x0066.
Character 'o' is hexadecimal 0x006f.
Character 'x' is hexadecimal 0x0078.
Character '.' is hexadecimal 0x002e.
Character     is hexadecimal 0x000d.
Character     is hexadecimal 0x000a.

Type a String of text then press Enter. Type '+' anywhere in the text to quit:

^Z
Value was either too large or too small for a character. Value read = -1.

Type a String of text then press Enter. Type '+' anywhere in the text to quit:

+
Character '+' is hexadecimal 0x002b.

*/

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft