Console.KeyAvailable 속성
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
입력 스트림에서 키 누름을 사용할 수 있는지를 나타내는 값을 가져옵니다.
public:
static property bool KeyAvailable { bool get(); };
public static bool KeyAvailable { get; }
member this.KeyAvailable : bool
Public Shared ReadOnly Property KeyAvailable As Boolean
키 누름을 사용할 수 있으면 true
이고, 사용할 수 없으면 false
입니다.
I/O 오류가 발생했습니다.
표준 입력이 키보드 대신에 파일로 리디렉션됩니다.
다음 예제에서는 속성을 사용하여 KeyAvailable 키를 누를 때까지 실행되는 루프를 만드는 방법을 보여 줍니다.
using namespace System;
using namespace System::Threading;
int main()
{
ConsoleKeyInfo cki;
do
{
Console::WriteLine( "\nPress a key to display; press the 'x' key to quit." );
// Your code could perform some useful task in the following loop. However,
// for the sake of this example we'll merely pause for a quarter second.
while ( Console::KeyAvailable == false )
Thread::Sleep( 250 );
cki = Console::ReadKey( true );
Console::WriteLine( "You pressed the '{0}' key.", cki.Key );
}
while ( cki.Key != ConsoleKey::X );
}
/*
This example produces results similar to the following:
Press a key to display; press the 'x' key to quit.
You pressed the 'H' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'E' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'PageUp' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'DownArrow' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'X' key.
*/
using System;
using System.Threading;
class Sample
{
public static void Main()
{
ConsoleKeyInfo cki;
do {
Console.WriteLine("\nPress a key to display; press the 'x' key to quit.");
// Your code could perform some useful task in the following loop. However,
// for the sake of this example we'll merely pause for a quarter second.
while (Console.KeyAvailable == false)
Thread.Sleep(250); // Loop until input is entered.
cki = Console.ReadKey(true);
Console.WriteLine("You pressed the '{0}' key.", cki.Key);
} while(cki.Key != ConsoleKey.X);
}
}
/*
This example produces results similar to the following:
Press a key to display; press the 'x' key to quit.
You pressed the 'H' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'E' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'PageUp' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'DownArrow' key.
Press a key to display; press the 'x' key to quit.
You pressed the 'X' key.
*/
open System
open System.Threading
let mutable cki = Unchecked.defaultof<ConsoleKeyInfo>
while cki.Key <> ConsoleKey.X do
printfn "\nPress a key to display; press the 'x' key to quit."
// Your code could perform some useful task in the following loop. However,
// for the sake of this example we'll merely pause for a quarter second.
while not Console.KeyAvailable do
Thread.Sleep 250 // Loop until input is entered.
cki <- Console.ReadKey true
printfn $"You pressed the '{cki.Key}' key."
// This example produces results similar to the following:
//
// Press a key to display; press the 'x' key to quit.
// You pressed the 'H' key.
//
// Press a key to display; press the 'x' key to quit.
// You pressed the 'E' key.
//
// Press a key to display; press the 'x' key to quit.
// You pressed the 'PageUp' key.
//
// Press a key to display; press the 'x' key to quit.
// You pressed the 'DownArrow' key.
//
// Press a key to display; press the 'x' key to quit.
// You pressed the 'X' key.
Imports System.Threading
Class Sample
Public Shared Sub Main()
Dim cki As ConsoleKeyInfo
Do
Console.WriteLine(vbCrLf & "Press a key to display; press the 'x' key to quit.")
' Your code could perform some useful task in the following loop. However,
' for the sake of this example we'll merely pause for a quarter second.
While Console.KeyAvailable = False
Thread.Sleep(250) ' Loop until input is entered.
End While
cki = Console.ReadKey(True)
Console.WriteLine("You pressed the '{0}' key.", cki.Key)
Loop While cki.Key <> ConsoleKey.X
End Sub
End Class
'This example produces results similar to the following:
'
'Press a key to display; press the 'x' key to quit.
'You pressed the 'H' key.
'
'Press a key to display; press the 'x' key to quit.
'You pressed the 'E' key.
'
'Press a key to display; press the 'x' key to quit.
'You pressed the 'PageUp' key.
'
'Press a key to display; press the 'x' key to quit.
'You pressed the 'DownArrow' key.
'
'Press a key to display; press the 'x' key to quit.
'You pressed the 'X' key.
'
속성 값이 즉시 반환됩니다. 즉, 키 누름을 KeyAvailable 사용할 수 있게 될 때까지 속성이 입력을 차단하지 않습니다.
속성은 KeyAvailable 메서드나 ReadLine 메서드가 ReadKey 아닌 Read 메서드와 함께 사용합니다.