pet*_*ust 23 c# java label break
我正在将一些Java代码转换为C#并找到一些标记为"break"的语句(例如)
label1:
while (somethingA) {
...
while (somethingB) {
if (condition) {
break label1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在C#中是否有等价物(当前读数暗示不是),如果没有,除了(比如说)具有bool标志以指示是否在每个循环结束时断开(例如)
bool label1 = false;
while (somethingA)
{
...
while (somethingB)
{
if (condition)
{
label1 = true;
break;
}
}
if (label1)
{
break;
}
}
// breaks to here
Run Code Online (Sandbox Code Playgroud)
我会感兴趣的是为什么C#没有这个,因为它似乎不是很邪恶.
Mar*_*off 32
您可以goto
直接跳转到标签.
while (somethingA)
{
// ...
while (somethingB)
{
if (condition)
{
goto label1;
}
}
}
label1:
// ...
Run Code Online (Sandbox Code Playgroud)
在类C语言中,goto
通常最终会破坏嵌套循环,而不是跟踪布尔变量并在每个循环结束时重复检查它们.
归档时间: |
|
查看次数: |
8854 次 |
最近记录: |