コードインスペクション:ループ内で 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 年 6 月 12 日