Console.Read-Methode
Liest das nächste Zeichen aus dem Standardeingabestream.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Function Read As Integer
'Usage
Dim returnValue As Integer
returnValue = Console.Read
public static int Read ()
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.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Ein E/A-Fehler ist aufgetreten. |
Hinweise
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.
Beispiel
Im folgenden Codebeispiel wird die Read-Methode veranschaulicht.
' This example demonstrates the Console.Read() method.
Imports System
Imports Microsoft.VisualBasic
Class Sample
Public Shared Sub Main()
Dim m1 As String = _
vbCrLf & _
"Type a string of text then press Enter. " & _
"Type '+' anywhere in the text to quit:" & _
vbCrLf
Dim m2 As String = "Character '{0}' is hexadecimal 0x{1:x4}."
Dim m3 As String = "Character is hexadecimal 0x{0:x4}."
Dim ch As Char
Dim x As Integer
'
Console.WriteLine(m1)
Do
x = Console.Read()
Try
ch = Convert.ToChar(x)
If Char.IsWhiteSpace(ch) Then
Console.WriteLine(m3, x)
If ch = vbLf Then
Console.WriteLine(m1)
End If
Else
Console.WriteLine(m2, ch, x)
End If
Catch e As OverflowException
Console.WriteLine("{0} Value read = {1}.", e.Message, x)
ch = Char.MinValue
Console.WriteLine(m1)
End Try
Loop While ch <> "+"c
End Sub 'Main
End Class '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.
'
// 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.
using namespace System;
int 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.
*/
Plattformen
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.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
Console-Klasse
Console-Member
System-Namespace
ReadLine
Write
WriteLine