2016-05-12 59 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