我正在查看这个 eratosthenes 筛子的代码,但我仍然无法理解“i”变量是如何增加的,因为我对 lambda 表达式的了解有限,并且文档对我没有多大帮助。谁能解释一下?
int cur = 1, total = 1000;
var pc = Enumerable.Range(2, total).ToList();
while(cur <= Math.Sqrt(total))
{
cur = pc.First(i => i > cur);
pc.RemoveAll(i => i != cur && i % cur == 0);
}
Console.WriteLine(pc.Max());