Re: LINQ: разбить последовательность на группы
От: AngeL B. Россия  
Дата: 26.08.09 10:30
Оценка:
Здравствуйте, bySerge, Вы писали:

S>Реализовать используя циклы легко, хочется максимально использовать LINQ.

если Вам от этого легче, то можно вот так.

var numbers = new int[] { 1, 2, 2, 1, 1, 1, 3, 3 };
            
int _groupNo = 0, _count = 0;
int? _prev = null;
var groups = numbers
    .GroupBy(x => {
        if( _count > 1 || _prev != x )
        {
            _count = 0;
            _groupNo++;
        }
        _prev = x;
        _count++;
        return _groupNo;
    });
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.