Есть ли разница между этими двумя примерами кода, и если нет, то почему существует using
?
StreamWriter writer;
try {
writer = new StreamWriter(...)
writer.blahblah();
} finally {
writer.Dispose();
}
против:
using (Streamwriter writer = new Streamwriter(...)) {
writer.blahblah
}
Я имею в виду, что во втором примере вы на самом деле все равно стоит поместить его в блок try, поэтому добавление блока finally не требует больших усилий. Я понимаю, что все это может быть заключено в более крупный блок попыток, но да, мне просто кажется излишним.