With... End With-vs Mit in VB.NET

Ich habe gerade herausgefunden, wie C#, VB.NET auch hat die using Stichwort.

Bis jetzt dachte ich es gar nicht habe (dumm von mir, ich weiß...) und habe Sachen wie dies:

With New OleDbConnection(MyConnectionString)
   ' Do stuff
End With

Was sind die Auswirkungen dieser im Vergleich zu tut es mit einer using Aussage wie diese

Using cn as New OleDBConnection(MyConnectionString)
    With cn
        ' Do stuff with cn
    End With
End using

UPDATE:

Sollte ich hinzufügen, dass ich vertraut bin mit dem, was die using - Anweisung wird in, über das Objekt, wenn das Konstrukt zu verlassen.

Jedoch, soweit ich das verstanden habe die With New ... erstellen, wird das Objekt markieren, das Objekt als bereit für die Müllabfuhr, wenn es den Bereich verlässt.

Also meine Frage wirklich ist, ist der einzige Unterschied die Tatsache, dass mit using ich werde den Speicher freizugeben, sofort, in der Erwägung, dass mit der With konstruieren, die es freigegeben wird, wenn der GC fühlt sich an wie es ist? Oder bin ich etwas fehlt, größer hier?

Gibt es best-practice-Auswirkungen? Soll ich gehen und schreiben Sie alle code mit ich verwendet With New MyDisposableObject() ... End With als Using o as New MyDisposableObject()?

So wie ich undertand, wenn aus den Antworten, die nur die Zeit Using ist besser als With New ... ist beim Umgang mit einer nicht verwalteten Objekts. Es sei denn, jemand kann mir ein gutes Beispiel, warum nicht verwenden With New ... für eine lokale single-use-Objekt, ich sehe nicht ein, warum ich, sollten Sie nicht es verwenden, um meinen code aufgeräumt.

InformationsquelleAutor yu_ominae | 2013-03-21

Schreibe einen Kommentar