在C#中是否有Java标记的等效中断或替代方法

peter.murray.rust:

我正在将一些Java代码转换为C#,并发现了一些标记为“ break”的语句(例如)

label1:
    while (somethingA) {
       ...
        while (somethingB) {
            if (condition) {
                break label1;
            }
        }
     }

C#是否有等效项(当前读数不建议),如果没有,则除(例如)具有布尔标志以指示是否在每个循环结束时中断以外,没有任何转换(例如)

bool label1 = false;
while (somethingA)
{
   ...
    while (somethingB)
    {
        if (condition)
        {
            label1 = true;
            break;
        }
    }
    if (label1)
    {
        break;
    }
}
// breaks to here

我对C#为什么没有这个很感兴趣,因为它似乎并不十分邪恶。

马克·拉沙科夫(Mark Rushakoff):

您可以使用goto直接跳转到标签。

while (somethingA)
{
    // ...
    while (somethingB)
    {
        if (condition)
        {
            goto label1;
        }
    }
}
label1:
   // ...

在类似C的语言中,goto通常可以更轻松地打破嵌套循环,而不是跟踪布尔变量并在每个循环结束时反复检查它们。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Java InputStream和OutputStream是否有C#等效方法?

Java中是否有等效的C#索引器?

在Azure中C#脚本源是否等效/替代?

C中是否有标记或未标记的中断?

Java中是否有与C的scanf等效的方法?

在C ++中是否有等效的Java“ volatile”?

Java中是否有等效于C#中的空合并运算符(??)的Java?

是否有一个Java等效于C#的.Aggregate(foo)方法?

在C#中是否有等效的c ++ vector :: back

是否有C#等效于Java中的File.separator

它们在Java中是否具有等效于C#静态类的功能?

C#是否具有等效的Java静态嵌套类?

是否有与C#的“ checked”关键字等效的Java?

Java是否具有等效于C#“ using”子句的

java 是否有等效于 C# 的 `using` 语句

C#中的Culture是否等效于Java中的Locale?

C# LINQ 中的`let` 关键字是否有强制替代方法?

Kotlin 中是否有等效于 C# 的 DebuggerStepThrough?

C#中的HashSet是否具有等效的AddRange

在C#中是否有与JavaScript的encodeURIComponent()等效的东西?

C#中是否有等效于SQL NULLIF的函数?

在C#中是否有等效于Python的ImportError

在 C# 中是否有等效的 numpy.tile() 函数?

是否等效于Java中的C#枚举标志属性?

C#中是否有Java中的equalsIgnoreCase之类的方法

C ++中的typedef关键字是否具有Java等效项或方法论?

.Net中是否有与Predicate <T>方法等效的Java 1.5?

具有基数参数的C#中的Java Integer.ValueOf方法等效项

Java中是否有等效的C ++析构函数?