Mögliche Duplikate:
Verwendung der using-Anweisung in c #
Was ist der C # -Bearbeitungsblock und warum sollte ich ihn verwenden?
Ich frage mich nur, was das bedeutet? Ich habe online viele Tutorials gesehen, die folgende Syntax haben:
%Vor%Warum wird es verwendet? Ich habe versucht, Google zu suchen, aber es kommt mit dem 'using' Schlüsselwort, das für das Einschließen der DLLs und anderer Dateien benutzt wird.
Die using
-Anweisung
ist syntaktischer Zucker für Code ähnlich dem folgenden:
%Vor%Dies ist nur für Klassen anwendbar, die IDisposable implementieren. Es ist hilfreich für die Bereinigung von Code, wo Sie Objekte haben, die zum Beispiel Systemressourcen (Dateihandles, Datenbankverbindungen, Sockets usw.) benötigen, die bereinigt werden müssen, nachdem Sie fertig sind, um die Ressource für den Rest der Ressource freizugeben System.
Theoretisch könnten Sie den Aufruf .Dispose()
weglassen, aber dann müssten Sie darauf warten, dass der Garbage Collector die gehaltenen Ressourcen freigibt. Der GC ist fantastisch darin, zu wissen, wann Objekte ihre Speicherbelegung zurückgewinnen müssen, aber sie hat keine no idea , die Objekte freigeben muss, damit sie andere Systemressourcen aufgeben. Daher werden diese kritischen Ressourcen möglicherweise erst dann freigegeben, wenn der GC entscheidet, dass er den vom Eigentümer verwendeten Speicher benötigt. Daher möchten Sie Ihre Objekte definitiv entsorgen, wenn Sie damit fertig sind (wenn sie wegwerfbar sind)!
Warum würden Sie using
über try
/ finally
verwenden, dies ist nur eine Vorliebe eines Coders. Ich bevorzuge using
, weil Sie sie kaskadieren können:
Sie benötigen dazu noch einige weitere Codezeilen mit try
/ finally
.
using
hat auch zusätzliche Vorteile. Wenn Sie beispielsweise x.Dispose
direkt aufrufen, wird möglicherweise ein NullReferenceException
ausgelöst, wenn x
null ist, using(x)
dagegen nicht.
Siehe auch:
Der Befehl using
weist den Compiler nur an, Code zu schreiben, der die Methode Dispose
für die Variable, die Sie verwenden, mit aufruft. Nur Typen, die 'IDisposable' implementieren, können mit using
-Anweisungen verwendet werden.
In Ihrem Beispiel wird cmd2 entfernt, wenn der Code in {} endet.
"Definiert einen Bereich, außerhalb dessen ein Objekt oder Objekte entfernt werden"
Siehe mit der Anweisung
using
wird auf Objekte angewendet, die IDisposable
implementieren. Es stellt sicher, dass beim Verlassen des Blocks using
(ob normal oder über eine Ausnahme oder was auch immer) die Methode Dispose
des Wegwerfobjekts aufgerufen wird.
Using statement definiert einen Bereich, außerhalb dessen das Objekt oder die Objekte entfernt werden.
Verwenden ist eine coole Art, Ressourcen zu bereinigen, es ist gleichbedeutend mit {} catch {} finally {dispose}. Effektive c # hat einen Punkt auf diesem und ich wette, Sie werden mehr als 10 ähnliche Antworten bekommen.
Siehe Ссылка
Die using-Anweisung kapselt Variablen innerhalb eines Bereichs. Wenn die Ausführung den using-Block verlässt, werden alle darin enthaltenen Objekte aus dem Speicher entfernt. Sie sehen es möglicherweise mit DB-Verbindungen, so dass beim Beenden des using-Blocks die Ressourcen für diese Verbindung bereinigt und geschlossen werden.
Tags und Links c# using-statement using idisposable