我写了一个do-while循环,但是它不会以某种方式通过while条件。 当我输入无效字符时,它应该回到开头并按原样重复。 我在Visual Studio上逐步运行了代码,它显示代码甚至没有通过while条件。 (无论输入值是多少) 有人可以帮帮我吗? 提前非常感谢!
using System;
using static System.Console;
namespace a5
{
class Program
{
const string acceptedLetters = "EHLNTXZ";
static void Main(string[] args)
{
GetUserString(acceptedLetters);
ReadKey();
}
static string GetUserString(string letters)
{
string invalidCharacters;
do
{
invalidCharacters = null;
Write("Enter : ");
string inputCharacters = ReadLine();
foreach(char c in inputCharacters)
{
if(letters.IndexOf(char.ToUpper(c))==-1)
{
invalidCharacters = c.ToString();
}
}
if(invalidCharacters != null)
{
WriteLine("Enter a valid input");
}
return inputCharacters;
} while (invalidCharacters != null);
}
}
}