2016-09-28 59 views
0

我已經編寫了一個應用程序來確定輸入的字符是大寫,小寫還是數字。但是,我想知道如何讓應用程序限制用戶只能輸入一個字符的字符數量?將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 { 

     } 

    } 
} 
+0

如果你使用這個'char c =(char)Console.ReadKey();'它會正是你想要的嗎? – Valentin

+0

您可以使用'Console.ReadKey'代替 – Pikoh

+0

是的,將其更改爲:嘗試 「Console.Write(」Enter a character:「); char c =(char)Console.ReadKey()。KeyChar; 「只限於一個,謝謝。 – Taran

回答

0

使用

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

這將限制

+0

邪惡!現在正常工作,將輸入限制爲一個。謝謝。 – Taran

0

你不能Console.Read();限制用戶輸入量進入到一個字符,因爲它只有終止當用戶按下輸入鍵。

您也許可以使用Console.ReadKey();。它只會獲得用戶按下的下一個字符並立即終止輸入。

0

取決於您的應用程序。如果您使用的是Winforms或WPF應用程序,則可以將maxlength設置爲輸入控件。在控制檯應用程序中,只需使用Console.ReadKey().KeyChar僅讀取一個字符即可。