跳出嵌套的foreach——c#中的跳转
直接跳出多层循环体的语法——定义跳转点,使用goto语句。
不要不相信,c#中是可以使用goto语句的!
不过使用这个语句是有限制的。为了跳出嵌套的foreach循环,可以在foreach后面定义一个位置,类似这样定义:
outsite:
冒号是必须的。注意是要在foreach后面!在前面程序会找不到目标点。这就限制了程序的无线跳转——你只能往前跳转!定义好了跳转点,你在foreach中这样跳转:
goto outside;
这样就一举跳出多层嵌套循环了。当然,这种情形比较少用到。今天我碰到的情形,本来想通过goto跳转到嵌套的循环体前面,后来发现程序上行不通,因为行不通而发现自己的逻辑是错误的!一般情形,还是使用continue和break配合Boolean变量来实现跳转、中断循环体比较合适。