C++ と C# でのガベージ コレクションのパフォーマンスを比較したいと考えています。GC.Collect()手動で呼び出すことは可能ですか? (特定の瞬間に実行したい。)
2 に答える
アンセーフ コードを使用する以外に、C# でガベージ コレクションを無効にする方法はありません。またはそのさまざまなオーバーロードの 1 つを呼び出して、ガベージ コレクターを強制的に実行できます。System.GC.Collect()
完全な MSDN ドキュメント: http://goo.gl/gc7mQ
1 つの特定のクラスの破棄をトリガーできます。コンテキストIDisposeable内で実装および実行されるクラスは、コンテキストが終了すると破棄されます。
usingusing
    MyLogger logger = new MyLogger("time.dat");
    logger.log("before using");
    using (MyDisposableClass myClass = new MyDisposableClass())
    {
        logger.log("before execution");
        myClass.doingSomething()
        logger.log("after execution");
        logger.log("before dispose");
    }
    logger.log("after dispose");
これは事実上間違っています - コメントを参照してください。