using static MoreLinq.Extensions.SegmentExtension;
public static void Main()
int[] source = new[] { 1, 2, 3, 5, 6, 8, 9, 10 };
.Segment((current, previous, _) => current != previous + 1)
.Select(segment => segment.ToArray())
Console.Write($"[{String.Join(", ", source)}]");
Console.WriteLine($@"[{String.Join(", ", result
.Select(s => $"[{String.Join(", ", s)}]"))}]");