重构:消除while循环中的代码重复,C#
为了消除A点和B点的代码重复,我可以选择哪些重写以下代码段的选项:重构:消除while循环中的代码重复,C#,c#,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
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;
}
简单的豌豆:)
while ((value = source.GetNext()) != -1)
{
sum += value;
}