如何识别字符串是否有多个字符

本文关键字:是否 字符 字符串 何识别 识别 | 更新日期: 2023-09-27 18:07:35

请记住,我是c#新手。

我想检查用户的输入是否不止一个字符。具体来说,我希望向用户询问Y/N,但如果他们键入"是"或"否"(或null),则再次询问他们。

我现在拥有的:

char guess;
Console.WriteLine("Please enter a letter");
guess = Convert.ToChar(Console.ReadLine());

如果用户按照说明操作,则此操作很有效,但如果输入多个字符,或按下Enter键,则"Convert.

"ToChar"失败。

如何识别字符串是否有多个字符

为什么不做Console.ReadKey()Console.Read()呢?

.Read从缓冲区中读取下一个字符

我仍然更喜欢ReadLine()而不是Read(),用户在输入完成后按下Enter更自然。使用Read()方法,您还必须处理Backspace,因此它变得更加复杂。建议如下:

Console.WriteLine("Please enter a letter");
string input;
while(true)
{
  input = Console.ReadLine();
  if (input.Length == 1) { break; }
  Console.WriteLine("Invalid input");        
}
char guess = input[0];

请注意,在上面可以很容易地添加更多验证,例如0-9不是字母。

使用greater then或less then语句。

string input = Console.ReadLine();
if(input.Length > 1) { Console.WriteLine("Message"); Console.ReadLine(); } // If its bigger then 1 
else { /* if it is one letter do code here */ }