Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中销毁对象#_C# - Fatal编程技术网

C# 如何在C中销毁对象#

C# 如何在C中销毁对象#,c#,C#,如何在特定条件下销毁对象? 例如: Car c = new Car() if (something) //destroy car 我曾尝试将对象设置为null,但它不起作用…setc=null只要没有其他引用,垃圾回收器将在下次运行时销毁它。除了将对象设置为null之外,还应将其从其他引用它的对象中删除 如果类使用需要释放的资源,请使用IDisposable public class Car: IDisposable { // free resources public voi

如何在特定条件下销毁对象? 例如:

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

我曾尝试将对象设置为null,但它不起作用…

set
c=null只要没有其他引用,垃圾回收器将在下次运行时销毁它。

除了将对象设置为null之外,还应将其从其他引用它的对象中删除 如果类使用需要释放的资源,请使用IDisposable

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

    }
}

你能定义
destroy
?另外,你怎么知道它不起作用?@Erik Philips-不知道为什么会将其标记为重复。这个问题不涉及IDisposable。此外,IDisposable不会破坏对象,它只允许清理资源,因此另一个问题根本不能回答这个问题。问题中提到的OP没有要求使用
IDisposable
,这通常用于未管理的资源。正确,但由于这是一个非常普遍的问题,一个更一般的答案似乎是合适的,我应该在方法中添加什么?如果类使用非托管资源,则释放非托管资源,或者也向日志写入您所说的非托管资源是什么意思?这对我不起作用?它以什么方式不起作用?将其设置为null后,您会看到不期望的行为吗?这是我的代码:
Car c=new Car();c=零;Console.ReadLine()是的,该代码应该可以正常工作。GC应该销毁该对象。为什么你认为它不起作用?@D4NieLDev-你是怎么尝试的,让你觉得它不起作用的?