Excluir objeto em C#
Este tutorial discutirá os métodos para excluir um objeto de uma classe definida pelo usuário em C#.
Exclua um objeto de classe definida pelo usuário em C# atribuindo valor null
a ele
Um objeto de classe é uma variável de referência que aponta para a localização da memória dessa classe. Podemos excluir o objeto atribuindo o valor null
a ele. Isso significa que o objeto atualmente não contém nenhuma referência a qualquer local da memória. Veja o seguinte exemplo.
using System;
namespace delete_object {
public class Sample {
public string value { get; set; }
}
class Program {
static void Main(string[] args) {
Sample x = new Sample();
x.value = "Some Value";
x = null;
Console.WriteLine(x.value);
}
}
}
Resultado:
Unhandled Exception
: System.NullReferenceException : Object reference not set to an instance of an object.
No código acima, inicializamos o objeto x
da classe Sample
e atribuímos um valor à propriedade value
. Em seguida, excluímos o objeto atribuindo null
a x
e imprimimos a propriedade x.value
. Isso nos dá uma exceção porque x
não aponta para nenhum local da memória.
Outra abordagem benéfica seria chamar o coletor de lixo depois de excluir o objeto. Essa abordagem é ilustrada no exemplo de código abaixo.
using System;
namespace delete_object {
public class Sample {
public string value { get; set; }
}
class Program {
static void Main(string[] args) {
Sample x = new Sample();
x.value = "Some Value";
x = null;
GC.Collect();
Console.WriteLine(x.value);
}
}
}
No código acima, chamamos o coletor de lixo após atribuir o valor null
ao objeto x
com o método GC.Collect()
em C#.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn