CodeQL 文档

对 GC.Collect() 的调用

ID: cs/call-to-gc
Kind: problem
Security severity: 
Severity: warning
Precision: very-high
Tags:
   - efficiency
   - maintainability
Query suites:
   - csharp-security-and-quality.qls

点击以在 CodeQL 存储库中查看查询

显式强制垃圾回收效率低下,并且在基准测试场景之外几乎不需要。

建议

删除对 GC.Collect() 的显式调用,并运行内存分析器以优化应用程序的内存使用。如果应用程序使用非托管资源并调用 GC.Collect() 来强制运行终结器,则最好实现 IDisposable 模式并使用 try/finally 子句来确保即使异常中断应用程序也能释放非托管资源。

示例

using System;

class Bad
{
    void M()
    {
        GC.Collect();
    }
}

参考

  • ©GitHub, Inc.
  • 条款
  • 隐私