Utilisation spéciale de using

Résolu
sh4gm4 Messages postés 47 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 2 octobre 2008 - 8 août 2008 à 14:30
sh4gm4 Messages postés 47 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 2 octobre 2008 - 8 août 2008 à 15:52
Salut,
quelqu'un peut il m'expliquer cette utilisation de using que j'ai trouvé dans un bouquin ?
Merci !
     using (StreamWriter sw = new StreamWriter(strPath +
                                               strAutomation +
                                               "\" +
                                               strAutomation +
strExt))

     {
                sw.Write(strAutoContent) ;
}

-------------------------------------------------------------------
Diaboliser quelqu'un ne lui fait pas pousser les cornes et la queue...

5 réponses

Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
8 août 2008 à 14:43
ca définit la portée de ton objet. Juste aprés le using, il est détruit. Ca permet de garder l'allocation mémoire "propre"
3
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
8 août 2008 à 15:09
Tu y es presque WishhhMaster, il faut juste rajouter un bloc try/finally :

  StreamWriter sw=null;
  try
  {
     sw = new StreamWriter(strPath +
                           strAutomation +
                           "\" +
                           strAutomation +
                           strExt);

    sw.Write(strAutoContent);
  }
  finally
  {
    if (sw!= null)
       sw.Dispose();//libère les ressources utilisées par le stream writer
  }

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
3
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
8 août 2008 à 14:49
Salut,

Avec cette syntaxe, les ressources sont libérées quand le bloc se termine.

Dans ton exemple, c'est équivalent à faire

StreamWriter sw = new StreamWriter(strPath +
                                               strAutomation +
                                               "\" +
                                               strAutomation +
strExt);

sw.Write(strAutoContent) ;

sw.Dispose();//libère les ressources utilisées par le stream writer
0
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
8 août 2008 à 15:25
Autant pour moi =)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sh4gm4 Messages postés 47 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 2 octobre 2008
8 août 2008 à 15:52
Et bien merci à tous les 3 :)

Diaboliser quelqu'un ne lui fait pas pousser les cornes et la queue...
0
Rejoignez-nous