ReSharper 2026.1 Help

代码检查:在循环中使用 stackalloc

此检查会报告循环中的 stackalloc 表达式。 通过 stackalloc 分配的内存仅在当前方法返回时才会释放,而不是在每次循环结束时释放。 因此,在循环中重复使用它可能会导致堆栈临时增长,看起来像是内存泄漏。

示例

for (int i = 0; i < 10; i++) { Span<int> buffer = stackalloc int[128]; Use(buffer); }
Span<int> buffer = stackalloc int[128]; for (int i = 0; i < 10; i++) { Use(buffer); }
2026年 5月 8日