Я работаю над сокращением использования ресурсов в системе моего клиента. Одна из задач - убедиться, что все ресурсы правильно закрыты и утилизированы.
Я знаю, как использовать блоки try-catch-finally
и using
, но я не уверен, как компилятор обрабатывает встроенный экземпляр одноразовой переменной, такой как StreamReader
.
Ниже показано, как я привык решать задачи:
Using streamRdr As New StreamReader(memStream)
Dim test As String = streamRdr.ReadToEnd()
'More code
End Using
А вот пример встроенного экземпляра:
Dim test As String = New StreamReader(memStream).ReadToEnd()
Я хотел бы знать, правильно ли компилятор утилизирует StreamReader
точно так же, как блок using
, или он использует сборку мусора для управления удалением ресурса?
Заранее спасибо.