Я искал запроса, которые возвращают первый номер не доступен в спискеНайти первый свободный элемент
int[] list = new int[] { 1,4,2,5,6,7 };
для вышеприведенного примера я ожидаю иметь результата 3.
Я искал запроса, которые возвращают первый номер не доступен в спискеНайти первый свободный элемент
int[] list = new int[] { 1,4,2,5,6,7 };
для вышеприведенного примера я ожидаю иметь результата 3.
Возможно, что-то вроде этого:
int result = Enumerable.Range(1, list.Length)
.Where(i => !list.Contains(i))
.FirstOrDefault();
Это вернет 0
, если list
содержит все целые числа от 1 до n.
var first = Enumerable.Range(1, list.Max()).Except(list).First();
Я бы использовал 'list.Count()', а не 'list.Max', поэтому вам не нужно беспокоиться о вычислении максимального значения. Также вы можете использовать 'First' вместо' Min', чтобы допускать короткое замыкание, так как первое значение всегда самое маленькое. – Servy
BTW, это массив, а не 'Список'. –