重构:消除while循环中的代码重复,C#

时间:2011-10-26 15:54:49

标签: c#

我可以选择重写以下代码段以消除A点和B点的代码重复:

var value = source.GetNext(); // A
while (value != -1) 
{
    sum += value;
    value = source.GetNext(); // B
}

使用中间循环中断重写不可接受

while (true)
{
    int value = source.GetNext();
    if (value == -1) break;
    sum += value;
}

1 个答案:

答案 0 :(得分:12)

轻松的peasy:)

while ((value = source.GetNext()) != -1)
{
    sum += value;
}