有没有办法从执行路径中动态排除操作



我想知道是否有办法(快捷方式)从程序集的执行路径中动态排除操作。例如,如果我有一个 foreach 循环,如下所示。

int count = 0;
foreach(char ch in myString){
if(count < 10){
// Do Something
++count;
}
// Do Something Else
}

有没有办法避免检查每次后续迭代是否count < 10?我想您可以通过跳转到另一个执行路径,将枚举器作为参数传递来做到这一点。有没有一种优雅的方法可以做到这一点?

使用两个循环 :-)

// Process first 10 characters
for (int i = 0; i != Math.Min(myString.Length, 10); ++i) {
    var ch = myString[i];
    // Do something
}
// Process rest
for (int i = 10; i < myString.Length; ++i) {
    var ch = myString[i];
    // Do something else
}

最新更新