IEnumerable foreach, сделать что-то другое для последнего элемента

у меня естьIEnumerable. Я хочу сделать одну вещь для каждого элемента коллекции, кроме последнего элемента, с которым я хочу сделать что-то еще .Как я могу это аккуратно закодировать?В псевдокоде

foreach (var item in collection)
{
    if ( final )
    {
        g(item)
    }
    else
    {
        f(item)
    }
}

Итак, если бы мой IEnumerable был Enumerable.Range(1,4), я бы сделал f(1) f(2) f(3) g( 4) NB. Если мой IEnumerable имеет длину 1, я хочу g(1).

Мой IEnumerable оказывается паршивым, делая Count()таким же затратным, как цикл по всему

11
задан John Saunders 19 February 2013 в 02:52
поделиться