public static void Main()
int[] array = { 1, 2, 3, 5, 6, 8, 10 };
Console.WriteLine(string.Join(",", array.FindMissing()));
Console.WriteLine(string.Join(",", array.Missing()));
Console.WriteLine(string.Join(",", array.Missing1()));
public static class SequenceExtensions
public static int[] FindMissing(this int[] sequence) =>
sequence.Zip(sequence.Skip(1), (valueLeft, valueRight)
=> Enumerable.Range(valueLeft + 1, (valueRight - valueLeft) - 1))
.SelectMany(item => item)
public static int[] Missing(this int[] sequence)
=> Enumerable.Range(1, sequence[^1]).Except(sequence)
public static int[] Missing1(this int[] sequence)
=> Enumerable.Range(sequence.First(), sequence.Last()).Except(sequence)