IntExtensions クラスに 2 つのメソッドがあり、次の使用可能な増分値 (除外する必要がある既存の整数のリストにはありません) を生成するのに役立ちます。私は最善の方法で NextIncrementalValueNotInList メソッドに対処しているとは思わず、linq を使用して次に利用可能な int を返すことができるかどうか疑問に思っていますか?
public static bool IsInList(this int value, List<int> ListOfIntegers) {
if (ListOfIntegers.Contains(value))
return true;
return false;
}
public static int NextIncrementalValueNotInList(this int value,
List<int> ListOfIntegers) {
int maxResult;
maxResult = ListOfIntegers.Max() + 1;
for (int i = value; i <= maxResult; i++)
{
if (!(i.IsInList(ListOfIntegers)))
{
return i;
}
}
return maxResult;
}