编辑:感谢各位的帮助,我刚刚意识到我的错误是把 number = (40 / i) 放在了应该是 number = (number / i) 的地方......由于某种原因,我脑子里有数字 40。
第一个循环中缺少的“i++”也是我在尝试修复代码时意外删除它:P
原来的:
我做了一个方法,它以整数列表的形式返回素数的素数。但是,当我尝试用元素填充列表时,出现错误。为什么?
static List<int> PrimeFactors(int number)
{
bool prime = false;
List<int> primeFactors = new List<int>();
for (int i = 2; i < number; )
{
if (number % i == 0)
{
prime = true;
break;
}
}
if (prime)
{
for (int i = 2; i < number; i++)
{
if (number % i == 0)
{
primeFactors.Add(i); // <--- Error at this line.
number = (40 / i);
i = 1;
}
}
primeFactors.Add(number);
}
return primeFactors;
}