2016-09-28 2 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'instead – Pikoh

+0

Да, изменив его на это: try " { 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();, как она заканчивается только тогда, когда пользователь нажал Enter ключ.

Возможно, вы можете использовать Console.ReadKey();. Он получит только следующий символ, нажатый пользователем, и немедленно прекратит ввод.

0

Зависит от вашего приложения. Если вы используете Winforms или приложение WPF, вы можете установить maxlength для ввода элементов управления. В консольном приложении прекрасно использовать Console.ReadKey(). KeyChar для чтения только одного символа.

Смежные вопросы