pass divisors.ToArray();
to Array.Sort(HERE);
он ожидает, что Array
не List<T>
divisors.ToArray()
не мутирует divisors
, он возвращает копию списка, преобразованную в Array
структура вместо.
Итак:
if (divisors.Count > 0)
{
divisors.ToArray();
return Array.Sort(divisors);
}
Должно быть
if (divisors.Count > 0)
{
var divisorsArray = divisors.ToArray();
Array.Sort(divisorsArray);
return divisorsArray;
}
И ошибка должна исчезнуть
Кстати, используйте do-while вместо while (true) и перерыва.