using
stwierdzenie jest zawsze lepiej, bo ...
- nie można zapomnieć zadzwonić
Dispose()
, nawet jako kod ewoluuje w różnych ścieżkach kodu
Dispose()
zostanie wywołany, nawet jeśli nie jest wyjątkiem. Sprawdza również przed null
przed wywołaniem Dispose()
, które mogą być przydatne (zakładając, że nie tylko dzwonisz pod numer new
).
Jeden nieoczywiste (dla mnie w każdym razie) sztuczka z using
sposób można uniknąć nadmiernego zagnieżdżania gdy masz wiele przedmiotów jednorazowych:
using (var input = new InputFile(inputName))
using (var output = new OutputFile(outputName))
{
input.copyTo(output);
}
Kod formater VS opuści dwa oświadczenia począwszy w tej samej kolumnie.
W rzeczywistości, w niektórych sytuacjach nawet nie trzeba powtarzać using ...
using (InputFile input1 = new InputFile(inputName1), input2 = new InputFile(inputName2))
Jednakże ograniczenia do deklarowania wielu zmiennych na tej samej linii obowiązuje tu więc typy muszą być takie same i nie można użyć domyślnego typu var.
Dziękujemy! To był po prostu rodzaj odpowiedzi, której szukałem. – mkelley33
Dodatkowym pomniejszym punktem, o którym nikt nie wspomniał, jest to, że użycie "używania" zapobiega przypadkowemu mutowaniu zawartości zmiennej "ctx" po jej inicjalizacji, ale przed jej usunięciem. Nie chcesz przypadkowo pozbyć się innego obiektu niż utworzony. –