问题字段有点太短,无法提出我的真正问题。如果有人可以更好地概括它,请随意。
我真正的问题是:这些天我正在阅读很多其他人的 C# 代码,我注意到一种特定形式的迭代被广泛传播,(见代码)。
我的第一个问题是:
所有这些迭代都是等价的吗?
我的第二个是:为什么更喜欢第一个?它与可读性有关吗?现在我不相信第一种形式比 for-form 更易读,一旦你习惯了它,可读性在这些结构中太过主观了,当然,你使用最多的东西看起来更具可读性,但我可以向大家保证,for-form 至少具有同样的可读性,因为它全部在一行中,您甚至可以阅读构造中的初始化。
因此第二个问题:为什么在代码中看到的第三种形式少得多?
// the 'widespread' construct
int nr = getNumber();
while (NotZero(nr))
{
Console.Write(1/nr);
nr = getNumber();
}
// the somewhat shorter form
int nr;
while (NotZero(nr = getNumber()))
Console.Write(1 / nr);
// the for - form
for (int nr = getNumber(); NotZero(nr); nr = getNumber())
Console.Write(1 / nr);