Elimina oggetto in C#
Questa esercitazione discuterà i metodi per eliminare un oggetto di una classe definita dall’utente in C#.
Elimina un oggetto di classe definito dall’utente in C# assegnandogli un valore null
Un oggetto classe è una variabile di riferimento che punta alla posizione di memoria di quella classe. Possiamo eliminare l’oggetto assegnandogli il valore null
. Significa che l’oggetto attualmente non contiene alcun riferimento a nessuna posizione di memoria. Vedi il seguente esempio.
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);
}
}
}
Produzione:
Unhandled Exception
: System.NullReferenceException : Object reference not set to an instance of an object.
Nel codice precedente, abbiamo inizializzato l’oggetto x
della classe Sample
e assegnato il valore alla proprietà value
. Abbiamo quindi eliminato l’oggetto assegnando null
a x
e stampato la proprietà x.value
. Ci dà un’eccezione perché x
non punta a nessuna posizione di memoria.
Un altro approccio vantaggioso sarebbe chiamare il garbage collector dopo aver eliminato l’oggetto. Questo approccio è illustrato nell’esempio di codice riportato di seguito.
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);
}
}
}
Nel codice precedente, abbiamo chiamato il garbage collector dopo aver assegnato il valore null
all’oggetto x
con il metodo GC.Collect()
in 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