You have a constructor for StreamWriter
(NET Framework 4.5 only) that allows specifying the leaveOpen
boolean that defines whether your instance takes ownership of the underlying stream or not.
If not specified (as in your example, or for previous versions of the framework), by default it's false
, so closing (or disposing) the instance closes the underlying stream.
Unless you set the leaveOpen parameter to true, the StreamWriter object calls Dispose() on the provided Stream object when StreamWriter.Dispose is called.
So there is no difference between both pieces of code you provided.