Как сгруппировать диапазоны в LINQ

Вот данные, которые я хотел бы сгруппировать.

Start      End
  2         4
  26        30
  5         9
  20        24
  18        19

Потому что у меня есть 18 - 19 и 20 - 24. Я бы добавил эти два вместе как 18 - 24. В этом случае правило (a, b) => b.start - a.end = 1, и результат будет

Start      End
  18        24
  2         9
  26        30

EDIT добавил последнюю строку результата в комментариях ниже.

Ответы на вопрос(1)

Ваш ответ на вопрос