2016-05-12 61 views
0

如何銷燬一個條件中的對象? 例如:如何在C中銷燬一個對象#

Car c = new Car() 
if (something) 
//destroy car 

我試圖設置對象爲null,但它didn`t工作...

+1

可以定義'資源destroy'? –

+2

另外,你怎麼知道它不起作用? –

+1

@Erik Philips - 不知道爲什麼這被標記爲重複。這個問題不問IDisposable。此外,IDisposable不會破壞對象,它只是允許清理資源,所以另一個問題根本不能回答這個問題。 – RJM

回答

0

設置c = null;只要有它沒有其他的引用,垃圾收集器會下次運行時將其銷燬。

+0

這不適用於我 – D4NieLDev

+0

它以什麼方式不起作用?你將它設置爲null後,你看到了什麼行爲,但你並不期待? – RJM

+0

這是我的代碼: 'Car c = new Car(); c = null; Console.ReadLine();' – D4NieLDev

2

在addtion來設置你的對象爲空,你還應該從其他對象中刪除其refrences它以及 如果類使用需要被釋放,使用了IDisposable

public class Car: IDisposable 
{ 
    // free resources 
    public void Dispose() 
    { 

    } 
} 
+0

沒有什麼OP在問題中提到需要使用'IDisposable',通常用於無人機資源。 –

+0

正確,但由於這是一個非常普遍的問題,因此更合理的答案似乎是合適的 –

+0

我應該在方法中放什麼? – D4NieLDev