С# имеет ключевое слово yield. VB.NET не хватает этого ключевого слова. Как программисты на Visual Basic воспользовались отсутствием этого ключевого слова? Они реализуют свой класс итераторов? Или они пытаются и кодируют, чтобы избежать необходимости итератора?
yield ключевое слово заставляет компилятор делать некоторую кодировку за кулисами. Хорошим примером этого является реализация итераторов в С# и его последствиях (часть 1).