首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2013-09-24 
输入名字,do while loop跳不出了我想输入名字的信息,但是结果运行的时候,一直在enter first name哪里不断

输入名字,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方法判断是否符合正则表达式,你那个直接==的,就是字符串比较了,当然不可能相当,一致循环下去了。

热点排行