C#如何在控制台程序中输入字符?

一个控制台程序,需要输入0~9中的一个,输入后不用按回车自动判断是否是数字,这个程序该怎么写?

示例代码:

class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Test();
            }
            Console.ReadKey(true);
        }
        static void Test()
        {
            ConsoleKeyInfo keyinfo = Console.ReadKey(true);
            int n;
if (int.TryParse(keyinfo.KeyChar.ToString(), out n))
            {
                Console.WriteLine("你选择了:"+n);
            }
            else
            {
                Console.WriteLine("请按数字键选择");
            }
        }
    }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-28
bool bIsNumber = false;
int d;
char ch;
int i = Console.Read();//读取一个文字
ch = Convert.ToChar(i);
bIsNumber= Int32.TryParse(ch.ToString(), d);
//判断是否为数字
第2个回答  推荐于2017-10-14
class Program
{
static void Main(string[] args)
{

while (true)
{
Test();
}

Console.ReadKey(true);
}

static void Test()
{
ConsoleKeyInfo keyinfo = Console.ReadKey(true);
int n;

if (int.TryParse(keyinfo.KeyChar.ToString(), out n))
{
Console.WriteLine("你选择了:"+n);
}
else
{
Console.WriteLine("请按数字键选择");
}
}
}本回答被提问者采纳
第3个回答  2009-10-28
try
{

for(int IntNumber=0;IntNumber<=9;IntNumber++)
{
IntNumber = Concole.ReadLine();

Console.WriteLine(IntNumber);
}
}
catch(Expetion ex)
{Console.WriteLine(ex);}
第4个回答  2009-10-28
while (true)
{
ConsoleKeyInfo i = Console.ReadKey(true);
char c = i.KeyChar;
if (Char.IsNumber(c))
{
Console.WriteLine(c.ToString());
}
}
相似回答