13
It is recommended to use the using pattern when dealing with anything that implements IDisposable
using ()
{
// use it here
}
This will look after the try..catch..finally construct and calling Dispose.
EDIT I had previously said that I thought Close and Dispose did the same thing for readers (stream, file, sqldatareader etc.) but it appears this is not true looking at the documentation on SQLDataReader so my assumption was wrong.
There is a simple guideline: if you have finished with an object whose type implements IDisposable then call Dispose() on it; you should use a using block to do this.