Czy zawsze konieczne jest zamknięcie strumieni lub, ponieważ .net jest zarządzanym kodem, zostanie automatycznie zamknięty, gdy tylko wykracza poza zakres (zakładając, że nie zgłoszono żadnych wyjątków).Zamykanie strumieni, zawsze konieczne? .net
Illustrated:
static string SerialiseObjectToBase64(object obj)
{
var mstream = new MemoryStream();
...
return Convert.ToBase64String(mstream.ToArray());
}
jest dopuszczalne powyższy kod?
@Greg - Z pewnością zamknie się automatycznie po uruchomieniu finalizatora. Jednak nie ma gwarancji, GDY zamknie się (może być, gdy proces się zakończy) - tak jak wskazujesz, używanie "używania" jest zawsze dobrym pomysłem. – Aaron
@Aaron - Dzięki, zaktualizowałem swoją odpowiedź. – Greg