代码检查:尾递归调用可以替换为循环。
尾递归调用是方法中最后执行的递归调用。 这些调用可以安全地替换为循环,这通常更高效,并且在递归深度较大时可以防止潜在的 StackOverflowException。
该检查能够识别尾递归调用,并建议将其转换为循环。
void DoStuff()
{
if (Environment.TickCount % 2 == 0) DoStuff();
}
void DoStuff()
{
while (true)
{
if (Environment.TickCount % 2 == 0) continue;
break;
}
}
快速修复会将方法体包裹在 while (true) 循环中,并将尾递归调用替换为 continue 语句。
2026年 3月 25日