Console.Read 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
표준 입력 스트림에서 다음 문자를 읽습니다.
public:
static int Read();
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static int Read ();
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
[System.Runtime.Versioning.UnsupportedOSPlatform("android")]
public static int Read ();
public static int Read ();
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member Read : unit -> int
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("android")>]
static member Read : unit -> int
static member Read : unit -> int
Public Shared Function Read () As Integer
반환
입력 스트림의 다음 문자를 반환하거나 현재 읽을 문자가 더 이상 없으면 -1을 반환합니다.
- 특성
예외
I/O 오류가 발생했습니다.
예제
다음 예제는 Read 메서드.
// 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.
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.
open System
// string m2 = "Character '{0}' is hexadecimal 0x{1:x4}.";
// string m3 = "Character is hexadecimal 0x{0:x4}.";
// char ch;
printfn "\nType a string of text then press Enter. Type '+' anywhere in the text to quit:\n"
let mutable ch = ' '
let mutable x = 0
while ch <> '+' do
x <- Console.Read()
try
ch <- Convert.ToChar x
if Char.IsWhiteSpace ch then
printfn $"Character is hexadecimal 0x{x:x4}."
if ch = char '\u000A' then
printfn "\nType a string of text then press Enter. Type '+' anywhere in the text to quit:\n"
else
printfn $"Character '{ch}' is hexadecimal 0x{x:x4}."
with :? OverflowException as e ->
printfn $"{e.Message} Value read = {x}."
ch <- Char.MinValue
printfn "\nType a string of text then press Enter. Type '+' anywhere in the text to quit:\n"
// 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.
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
End Class
'
'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.
'
설명
입력 문자를 입력하는 동안 메서드는 Read 반환을 차단합니다. 키를 누르면 Enter 종료됩니다. Enter 키를 누르면 플랫폼 종속 줄 종료 시퀀스가 입력에 추가됩니다(예: 캐리지 리턴 줄 바꿈 시퀀스를 추가하는 Windows). 메서드에 대한 후속 호출은 Read 입력을 한 번에 한 문자로 검색합니다. 최종 문자를 검색한 Read 후 반환을 다시 차단하고 주기가 반복됩니다.
중요
ReadLine 메서드 또는 KeyAvailable 속성 및 ReadKey 메서드는 메서드를 사용하는 Read 것이 좋습니다.
다음 작업 중 하나를 수행하지 않는 한 메서드는 -1을 반환하지 않습니다.
한정자 키와 Z 콘솔 키(Ctrl+Z)를 동시에 눌러 Control 파일 종료 조건을 알릴 수 있습니다. Windows 경우 콘솔 키도 눌러 Enter 야 합니다.
파일 끝 조건(예: Windows F6 함수 키)을 알리는 동일한 키를 누릅니다.
입력 스트림을 실제 파일 끝 문자가 있는 텍스트 파일과 같은 원본으로 리디렉션합니다.