Hallo Felix,
C# (bzw. .NET) läuft ebenso wie Java in einer "managed"-Umgebung, d.h. das System merkt sich selbständig die Referenzen auf die Objekte und löscht sie über den Garbage Collector (GC) bei Bedarf.
Bei Klassen, welche auf externe Ressourcen zugreifen, ist die IDisposable-Schnittstelle implementiert, d.h. man kann über die Dispose()-Methode veranlassen, daß das Objekt die externen Ressourcen (z.B. File-Handle) schließt.
Als Kurzform gibt es daher in der Sprache C# die "using"-Anweisung, z.B.:
C#-Quelltext
1: 2: 3: 4:
| using (FileStream fs = new FileStream(...)) {
} |
Am Ende des Blocks wird dann (in diesem Fall) die Datei wieder geschlossen und dann kann auch der GC (bei seinem nächsten internen Aufruf) dieses FileStream-Objekt löschen.