プロパティを使用して、.KeyChar
と比較しChar.IsNumber
ます。
同等の数値を取得するには、Int32.Parse
またはInt32.TryParse
:を使用できます。
Int32 number;
if (Int32.TryParse(cki.KeyChar.ToString(), out number))
{
Console.WriteLine("Number: {0}, Less than 9?: {1}", number, number < 9);
}
テストアプリケーション:
using System;
namespace Test
{
public static void Main()
{
Console.WriteLine("Press CTRL+C to exit, otherwise press any key.");
ConsoleKeyInfo cki;
do
{
cki = Console.ReadKey(true);
if (!Char.IsNumber(cki.KeyChar))
{
Console.WriteLine("Non-numeric input");
}
else
{
Int32 number;
if (Int32.TryParse(cki.KeyChar.ToString(), out number))
{
Console.WriteLine("Number received: {0}; <9? {1}", number, number < 9);
}
else
{
Console.WriteLine("Unable to parse input");
}
}
}
while (cki.KeyChar != 27);
}
}