Dans l'exemple de code suivant, filestream et streamreader seront-ils éliminés ou créeront-ils des fuites de mémoire? Est-il possible de coder cette fonction sans provoquer de fuite de mémoire?codant cette fonction sans fuite de mémoire! - veuillez nous informer
string ReadFile(string strPath)
{
using (FileStream fstream = new FileStream(strPath, FileMode.Open))
{
using (StreamReader sreader = new StreamReader(fstream))
{
return sreader.ReadToEnd().ToString(); //NOTE ITS RETURNED HERE...SO CAN IT GET DISPOSED AFTER THIS LINE?
}
}
}
Merci
Pour autant que je comprends .NET, ne disposant pas d'un filestream ne crée pas une (ressource) fuite , parce qu'il sera éliminé par le GC à un moment donné. C'est juste une bonne habitude de le jeter le plus tôt possible. –
BTW pourrais-je demander pourquoi faites-vous un ToString() sur une chaîne? –