IEnumerable<T> хочется
От: Блудов Павел Россия  
Дата: 29.12.05 06:58
Оценка: +2
Сразу оговорюсь: IEnumerable как бесплатное приложение к IList меня вполне устраивает.
Разница в том, что в случае с реальным енумератором можно не дожидатья окончания загрузки данных с сервера.
Т.е. классический пример распихивания деталей по заказам будет выглядеть так:

using (IEnumerator<Detail> details = Map.DataReaderToEnumerable<Detail>(readerDetail).GetEnumerator())
if (details.MoveNext())
{
    foreach (Order order in Map.DataReaderToEnumerable<Order>(readerOrder))
    {
        while (details.Current.OrderId == order.Id)
        {
            order.Details.Add(details.Current);
            if (!details.MoveNext())
            {
                break;
            }
        }
    }
}


У нас в проекте есть пара мест, где клиенту приходит с сервера многомерный массив float'ов (c дырками), в виде
index1, index2, .... indexN, value
index1, index2, .... indexN, value


Который раскладывается в реальный массив, т.е. данные получаемые с сервера ну совсем не похожи на те,
что используются внутри программы. Вот тут IEnumerable очень к месту — получили IDataReader с сервера,
поматросили и сразу бросили.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.