Exemple :
variable = new StreamReader( file ).ReadToEnd();
Est-ce acceptable ?
Exemple :
variable = new StreamReader( file ).ReadToEnd();
Est-ce acceptable ?
Non, cela ne fermera pas le StreamReader. Tu dois le fermer. Utiliser fait cela pour vous (et le dispose de sorte qu'il est GC'd plus tôt) :
using (StreamReader r = new StreamReader("file.txt"))
{
allFileText = r.ReadToEnd();
}
Ou bien dans .Net 2 vous pouvez utiliser le nouveau Fichier. membres statiques, alors vous n'avez pas besoin de fermer quoi que ce soit :
variable = File.ReadAllText("file.txt");
Vous devriez toujours disposer de vos ressources.
// the using statement automatically disposes the streamreader because
// it implements the IDisposable interface
using( var reader = new StreamReader(file) )
{
variable = reader.ReadToEnd();
}
Ou au moins l'appeler manuellement :
reader = new StreamReader(file);
variable = reader.ReadToEnd();
reader.Close();
Vous devez éliminer les objets qui implémentent IDisposable
. Utilisez une instruction using
pour vous assurer qu'il est éliminé sans appeler explicitement la méthode Dispose.
using (var reader = new StreamReader(file))
{
variable = reader.ReadToEnd();
}
Sinon, utilisez File.ReadAllText(String)
variable = File.ReadAllText(file);
Oui, chaque fois que vous créez un objet jetable, vous devez vous en débarrasser de préférence avec une instruction using
using (var reader = new StreamReader(file)) {
variable = reader.ReadToEnd(file);
}
Dans ce cas, bien que vous puissiez simplement utiliser la méthode File.ReadAllText
pour simplifier l'expression
variable = File.ReadAllText(file);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.