Lors de l'utilisation d'un flux de mémoire dans une instruction using, dois-je appeler close? Par exemple, ms.Close () est-il nécessaire ici?
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
ms.Close();
}
Non ce n'est pas.
using
garantit que Dispose()
sera appelé, ce qui à son tour appelle la méthode Close()
.
Vous pouvez supposer que tous les types de flux sont fermés par l'instruction using
.
De MSDN :
Lorsque vous utilisez un objet qui accède à des ressources non managées, tel qu'un StreamWriter, une bonne pratique consiste à créer l'instance avec une instruction using. L'instruction using ferme automatiquement le flux et appelle Dispose sur l'objet lorsque le code qui l'utilise est terminé .
Lors de l'utilisation d'un flux de mémoire dans une instruction using, dois-je appeler close?
Non, tu n'as pas besoin. Il sera appelé par la méthode .Dispose()
qui est automatiquement appelée:
using (MemoryStream ms = new MemoryStream(byteArray))
{
// stuff
}