Objekt löschen in C#
In diesem Lernprogramm werden die Methoden zum Löschen eines Objekts einer benutzerdefinierten Klasse in C# erläutert.
Löschen eines Objekts einer benutzerdefinierten Klasse in C# durch Zuweisen des Werts null
Ein Klassenobjekt ist eine Referenzvariable, die auf den Speicherort dieser Klasse verweist. Wir können das Objekt löschen, indem wir ihm den Wert null
zuweisen. Dies bedeutet, dass das Objekt derzeit keinen Verweis auf einen Speicherort enthält. Siehe folgendes Beispiel.
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);
}
}
}
Ausgabe:
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
Im obigen Code haben wir das Objekt x
der Klasse Sample
initialisiert und der Eigenschaft value
einen Wert zugewiesen. Wir haben dann das Objekt gelöscht, indem wir x
null
zugewiesen und die Eigenschaft x.value
gedruckt haben. Dies gibt uns eine Ausnahme, da x
nicht auf einen Speicherort verweist.
Ein weiterer nützlicher Ansatz wäre, den Garbage Collector aufzurufen, nachdem wir das Objekt gelöscht haben. Dieser Ansatz wird im folgenden Codebeispiel veranschaulicht.
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);
}
}
}
Im obigen Code haben wir den Garbage Collector aufgerufen, nachdem wir dem Objekt x
mit der Methode GC.Collect()
in C# den Wert null
zugewiesen haben.
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