Поле вопроса немного слишком короткое, чтобы представить мой реальный вопрос. Если кто-нибудь сможет лучше повторить его, пожалуйста, не стесняйтесь.Почему «пока» так популярен в C#?
Мой настоящий вопрос заключается в следующем: в настоящее время я читаю много кода других людей на C#, и я заметил, что одна конкретная форма итерации широко распространена (см. Код).
Мой первый вопрос:
Все ли эти итерации эквивалентны?
И второе: почему предпочитают первый? Это что-то связано с читабельностью? Теперь я не верю, что первая форма более читаема, а затем форма для форматирования, когда вы привыкнете к ней, а читаемость - слишком много субъективного элемента в этих конструкциях, конечно, то, что вы используете больше всего, будет казаться более читаемым, но я могу заверить всех, что for-form по крайней мере так же читабельна, поскольку он имеет все в одной строке, и вы даже можете прочитать инициализацию в конструкции.
Таким образом, второй вопрос: почему 3-я форма гораздо меньше видна в коде?
// 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);
Svante, tx, я должен смотреть на язык лучше, но мое материнство не является английским, как вы наверняка догадались. – Peter
Каким образом поле вопроса «слишком короткое»? Я не видел никаких ограничений на это ... –
Боюсь, что я сделал, по-видимому, ошибочное - предположение. – Peter