读书人

输入名字do while loop跳不出了解决

发布时间: 2013-09-24 10:59:52 作者: rapoo

输入名字,do while loop跳不出了
我想输入名字的信息,但是结果运行的时候,一直在enter first name哪里不断循环,跳不出来了。
string FN; //FN=first name
bool checkFN=false;
do //get information for first name
{
Console.WriteLine("Enter Your First Name");
FN = Console.ReadLine();
try
{
FN = Console.ReadLine();
}
catch (InvalidCastException i)
{

}
if (FN == "^[A-Za-z]+$")
{
checkFN = true;
}
else
{
Console.WriteLine("Please Enter Valid Name");
checkFN = false;

}
} while (!checkFN); //

我想做的是,当用户输入空格或者数字的时候,就提示出错,需要输入字母才可以。
一开始用的是If(FN==""),然后发现,可以用现在这个来只输入字母,就用了这个。
但不管用哪种方式,我现在是跳不出来了。
不管输入什么,都是提示
“Enter your First Name”


求大神指教。

ps:个人感觉,貌似我其实可以不用try catch。不知道是否正确 string ?FN emty?sapce do?while?
[解决办法]
或者可以这样:
if (System.Text.RegularExpressions.Regex.IsMatch(FN, "^[A-Za-z]+$"))
{
checkFN = true;
}
是C#正则表达式的核心类,调用IsMatch方法判断是否符合正则表达式,你那个直接==的,就是字符串比较了,当然不可能相当,一致循环下去了。

读书人网 >C#

热点推荐