Un using
affermazione è sempre meglio perché ...
- non si può dimenticare di chiamare
Dispose()
, anche se il codice si evolve in differenti percorsi di codice
Dispose()
viene chiamato anche se c'è un'eccezione. Controlla anche per null
prima di chiamare Dispose()
, che può essere utile (supponendo che non stai chiamando solo new
).
One non ovvia (per me, comunque) trucco con using
è come si può evitare l'annidamento eccessiva quando si dispone di più oggetti usa e getta:
using (var input = new InputFile(inputName))
using (var output = new OutputFile(outputName))
{
input.copyTo(output);
}
Il codice di formattazione VS lascerà le due affermazioni di partenza nella stessa colonna
Infatti, in alcune situazioni che non hanno nemmeno bisogno di ripetere l'istruzione using ...
using (InputFile input1 = new InputFile(inputName1), input2 = new InputFile(inputName2))
Tuttavia, le restrizioni per dichiarare più variabili sulla stessa linea si applica qui in modo che il i tipi devono essere uguali e non è possibile utilizzare il tipo implicito var.
fonte
2009-06-23 19:36:59
Grazie! Era solo il tipo di risposta che stavo cercando. – mkelley33
Un ulteriore punto secondario che nessuno ha menzionato è che l'uso di "using" impedisce di mutare accidentalmente il contenuto della variabile "ctx" dopo la sua inizializzazione ma prima della sua eliminazione. Non vuoi disporre accidentalmente di un oggetto diverso da quello che hai creato. –