Обнаружение последовательности не менее 3 последовательных чисел из данного списка

У меня есть список чисел, например 21,4,7,9,12,22,17,8,2,20,23

Я хочу иметь возможность выбирать последовательности последовательных чисел (минимум 3 элемента в длину), поэтому из приведенного выше примера было бы 7,8,9 и 20,21,22,23.

Я поигрался с несколькими уродливыми растягивающимися функциями, но мне интересно, есть ли изящный способ LINQ сделать это.

Любой предложения?

ОБНОВЛЕНИЕ:

Большое спасибо за все ответы, очень благодарны. В настоящее время я играю со всеми, чтобы увидеть, что лучше всего вписывается в наш проект.

22
задан Dve 27 November 2012 в 09:45
поделиться