将c#用户界面限制为一个输入

时间:2016-09-28 11:46:18

标签: c#

我编写了一个应用程序来确定字符输入是大写,小写还是数字。但是,我想知道如何让应用程序限制用户只能输入一个字符的数量?

class Program
{
    static void Main(string[] args)
    {
        try
        {
            Console.Write("Enter a character: ");
            char c = (char)Console.Read();
            if (Char.IsLetter(c))
            {
                if (Char.IsLower(c))
                {
                    Console.WriteLine("The character is lowercase");
                    Console.Write("Press any key to exit...");
                    Console.ReadKey();
                }
                else
                {
                    Console.WriteLine("The character is uppercase");
                    Console.Write("Press any key to exit...");
                    Console.ReadKey();
                }

            }

            else
            {
                Console.WriteLine("Not an alphabetic character");
                Console.Write("Press any key to exit...");
                Console.ReadKey();
            }
        } // Try 

        catch {

        }

    }
}

3 个答案:

答案 0 :(得分:0)

使用

Console.Write("Enter a character: ");
                char c = (char)Console.ReadKey().KeyChar;
                if (Char.IsLetter(c))

这会将条目限制为只有一个字符

答案 1 :(得分:0)

您无法使用Console.Read();限制用户输入的数量,因为它仅在用户按 Enter 键时终止。

您也许可以使用Console.ReadKey();。它只会获取用户按下的下一个字符并立即终止输入。

答案 2 :(得分:0)

取决于您的申请。如果您使用的是Winforms或WPF应用程序,则可以将maxlength设置为输入控件。在控制台应用程序中,只需使用Console.ReadKey()。KeyChar只读一个字符。