static void Main(string[] args)
{
string name = null, surname = null;
while (name != "A" && surname != "A")
{
Console.WriteLine("Enter Name:");
name = Console.ReadLine(); // Point A
Console.WriteLine("Enter Surname:");
surname = Console.ReadLine(); // Point B
}
Console.WriteLine("Oops");
Console.ReadLine();
}
循环正常工作:While循环做虚假情况不会退出
输出1:
输入名称:
约翰
输入姓:
彼得
输入名称:
杰克
输入姓:
安德鲁
输出2:(试图突破A点环路)
输入名称:
一个//循环没有退出,但去了下一条语句
输入姓:
彼得
哎呀
当我试图打破在A点的循环,循环不退出,但进入下一语句,然后退出后B点
问题:为什么它不在点退出循环,我怎样才能让它在A点退出?
他们只是嫉妒你能正确回答在睡觉:) – sstan
谢谢,你的第一个例子会非常适合我的项目。 –
我想说的是,尽管第一个例子提供了最快速,最易理解的解决方案,但我建议不要打破循环。另外两个例子在长期维护和可读性方面更好,如果您决定在稍后的时间点扩展循环,也不太可能引起回避性错误。 – MrPaulch