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

时间:2015-02-04 18:40:04

标签: c# multithreading executable .net-assembly

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

int count = 0;

foreach(char ch in myString){

if(count < 10){

// Do Something

++count;

}

// Do Something Else

}

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

1 个答案:

答案 0 :(得分:0)

使用两个循环: - )

// 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
}