Я получил простой список целых чисел.
List<int> myInts = new List<int>();
myInts.Add(0);
myInts.Add(1);
myInts.Add(4);
myInts.Add(6);
myInts.Add(24);
Моя цель - получить первое неиспользуемое (доступное) значение из списка.
(первое положительное значение, которого еще нетприсутствует в коллекции)
В этом случае ответ будет 2.
Вот мой текущий код:
int GetFirstFreeInt()
{
for (int i = 0; i < int.MaxValue; ++i)
{
if(!myInts.Contains(i))
return i;
}
throw new InvalidOperationException("All integers are already used.");
}
Есть ли лучший способ?Может быть, с помощью LINQ?Как бы вы это сделали?
Конечно, здесь я использовал int для простоты, но мой вопрос может относиться к любому типу.