Una declaración using
siempre es mejor porque ...
- no se puede olvidar llamar
Dispose()
, así como el código se convierte en diferentes rutas de código
Dispose()
es llamada incluso si hay una excepción. También comprueba el null
antes de llamar al Dispose()
, que puede ser útil (suponiendo que no solo está llamando al new
).
Uno no evidente (al menos para mí) truco con using
es cómo se puede evitar la anidación excesiva cuando tiene varios objetos desechables:
using (var input = new InputFile(inputName))
using (var output = new OutputFile(outputName))
{
input.copyTo(output);
}
El formateador de código VS dejará las dos declaraciones de partida en la misma columna
De hecho, en algunas situaciones que no tienen ni siquiera para repetir la instrucción using ...
using (InputFile input1 = new InputFile(inputName1), input2 = new InputFile(inputName2))
Sin embargo, las restricciones para declarar múltiples variables en la misma línea se aplica aquí por lo que la los tipos deben ser iguales y no puede usar el tipo implícito var.
¡Gracias! Ese era el tipo de respuesta que estaba buscando. – mkelley33
Un punto menor adicional que nadie ha mencionado es que el uso de "usar" le impide mutar accidentalmente el contenido de la variable "ctx" después de su inicialización pero antes de su eliminación. No desea deshacerse accidentalmente de un objeto diferente del que creó. –