Подтвердить что ты не робот

MemoryStream в использовании Statement - Мне нужно вызвать close()

При использовании потока памяти в операторе using мне нужно вызвать close? Например, здесь требуется ms.Close()?

  using (MemoryStream ms = new MemoryStream(byteArray)) 
    {  
      // stuff 

      ms.Close(); 
    }
4b9b3361

Ответ 1

Нет, это не так.

using гарантирует, что будет вызываться Dispose(), который, в свою очередь, вызывает метод Close().

Вы можете предположить, что все виды потоков закрываются оператором using.

Из MSDN:

Когда вы используете объект, который обращается к неуправляемым ресурсам, например StreamWriter, хорошей практикой является создание экземпляра с помощью оператора using. Оператор using автоматически закрывает поток и вызывает Dispose на объекте, когда код, который его использует, завершил.

Ответ 2

При использовании потока памяти в операторе using мне нужно вызвать close?

Нет, вам не нужно. Он будет вызван методом .Dispose(), который автоматически вызывается:

using (MemoryStream ms = new MemoryStream(byteArray)) 
{  
    // stuff 
}