ReSharper 2026.1 Help

代码检查:尾递归调用可以替换为循环。

尾递归调用是方法中最后执行的递归调用。 这些调用可以安全地替换为循环,这通常更高效,并且在递归深度较大时可以防止潜在的 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日