英語で読む

次の方法で共有


ConsoleKeyInfo 構造体

定義

コンソール キーが表す文字や、Shift、Alt、Ctrl の各修飾子キーの状態など、押されたコンソール キーを記述します。

C#
public readonly struct ConsoleKeyInfo : IEquatable<ConsoleKeyInfo>
C#
public struct ConsoleKeyInfo
C#
public readonly struct ConsoleKeyInfo
C#
[System.Serializable]
public struct ConsoleKeyInfo
継承
ConsoleKeyInfo
属性
実装

次の例では、読み取り操作でオブジェクトを ConsoleKeyInfo 使用する方法を示します。

C#
using System;

class Example
{
   public static void Main()
   {
      ConsoleKeyInfo cki;
      // Prevent example from ending if CTL+C is pressed.
      Console.TreatControlCAsInput = true;

      Console.WriteLine("Press any combination of CTL, ALT, and SHIFT, and a console key.");
      Console.WriteLine("Press the Escape (Esc) key to quit: \n");
      do
      {
         cki = Console.ReadKey();
         Console.Write(" --- You pressed ");
         if((cki.Modifiers & ConsoleModifiers.Alt) != 0) Console.Write("ALT+");
         if((cki.Modifiers & ConsoleModifiers.Shift) != 0) Console.Write("SHIFT+");
         if((cki.Modifiers & ConsoleModifiers.Control) != 0) Console.Write("CTL+");
         Console.WriteLine(cki.Key.ToString());
       } while (cki.Key != ConsoleKey.Escape);
    }
}
// This example displays output similar to the following:
//       Press any combination of CTL, ALT, and SHIFT, and a console key.
//       Press the Escape (Esc) key to quit:
//
//       a --- You pressed A
//       k --- You pressed ALT+K
//       ► --- You pressed CTL+P
//         --- You pressed RightArrow
//       R --- You pressed SHIFT+R
//                --- You pressed CTL+I
//       j --- You pressed ALT+J
//       O --- You pressed SHIFT+O
//       § --- You pressed CTL+U

注釈

この ConsoleKeyInfo 型は、ユーザーが作成することを意図したものではありません。 代わりに、メソッドの呼び出しに応答してユーザーに Console.ReadKey 返されます。

オブジェクトは ConsoleKeyInfo 、押されたコンソール キーに ConsoleKey 対応する定数と Unicode 文字 (存在する場合) を記述します。 また、このオブジェクトは ConsoleKeyInfo 、1 つ以上の ConsoleModifiers Shift キー、Alt キー、Ctrl 修飾子キーがコンソール キーと同時に押されたかどうかに関係なく、ビットごとの値の組み合わせで記述します。

コンストラクター

ConsoleKeyInfo(Char, ConsoleKey, Boolean, Boolean, Boolean)

指定した文字、コンソール キー、および修飾子キーを使用して、ConsoleKeyInfo 構造体の新しいインスタンスを初期化します。

プロパティ

Key

現在の ConsoleKeyInfo オブジェクトが表すコンソール キーを取得します。

KeyChar

現在の ConsoleKeyInfo オブジェクトが表す Unicode 文字を取得します。

Modifiers

コンソール キーと同時に押される 1 つ以上の修飾子キーを指定する、ConsoleModifiers 値のビットごとの組み合わせを取得します。

メソッド

Equals(ConsoleKeyInfo)

指定された ConsoleKeyInfo オブジェクトと現在の ConsoleKeyInfo オブジェクトが等しいかどうかを示す値を取得します。

Equals(Object)

指定されたオブジェクトと現在の ConsoleKeyInfo オブジェクトが等しいかどうかを示す値を取得します。

GetHashCode()

現在の ConsoleKeyInfo オブジェクトのハッシュ コードを返します。

演算子

Equality(ConsoleKeyInfo, ConsoleKeyInfo)

指定した ConsoleKeyInfo オブジェクトが等しいかどうかを示します。

Inequality(ConsoleKeyInfo, ConsoleKeyInfo)

指定した ConsoleKeyInfo オブジェクトが等しくないかどうかを示します。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1

こちらもご覧ください