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