В JavaScript можно создать генератор, который будет вести себя так:Генераторы в C#?
function* idMaker(){
var index = 0;
while(true)
yield index++;
}
var gen = idMaker();
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
Что бы C# эквивалент выглядеть?
Интересно, будет ли это работать:
static System.Collections.Generic.IEnumerable<int> MakeId()
{
int index = 0;
while (true)
yield return index++;
}
, но от того, что я понимаю в C# до сих пор, выше не будет работать, как я намерен и вместо бесконечного цикла.
Версия C# возвращается как функция, поэтому 'while (true)' заблокирует ваше приложение до тех пор, пока вы закончились из ОЗУ. –
Почему это не будет вести себя так, как вы намерены? – Evk
@ManfredRadlwimmer Я знаю, так что же эквивалент C#. У него даже есть генераторы? – theonlygusti