Возврат доходности автоматически создает счетчик для вас.
http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx
Так что вы можете сделать что-то вроде
//pseudo code:
while(get_next_record_from_database)
{
yield return your_next_record;
}
Позволяет быстро создать коллекцию объектов (перечислитель), которую вы можете просматривать и извлекать записи. Оператор yield return обрабатывает весь код, необходимый для создания перечислителя.
Большая часть оператора yield return заключается в том, что вам не нужно загружать все элементы в коллекции перед возвратом коллекции в вызывающий метод. Это позволяет ленивая загрузка коллекции, поэтому вы не платите штраф за доступ сразу.
Когда использовать Доходность Return .