Je suis en train d'examiner du code C# et cela fait un moment que j'ai travaillé avec C#, donc je voulais être sûr que mes instincts sont corrects. Dans ce code, je vois un certain nombre d'endroits dans un utilisant le bloc où quelque chose comme ce qui suit est fait:C# en utilisant clear dispose
using(StreamWriter thing = new StreamWriter()) {
DataSet DS = SQLQueryMethod();
do stuff to DS and log that stuff to the a log file using thingy...
DS.clear();
DS.Dispose();
}
Maintenant, je l'ai fait un peu de recherche sur ce ainsi que regardé en arrière plusieurs années par mon défaut mémoire et je pense qu'il y a un certain nombre de façons de faire cela qui serait mieux. Je voudrais savoir quelle est la manière la plus «standard»/«meilleure pactice». Je pense que le numéro 1 ci-dessous est la meilleure façon de le faire.
merci d'avance.
Ajouter à la DataSet l'instruction à l'aide afin qu'il soit éliminé automatiquement avec la fin de la portée de la déclaration en utilisant, éliminant ainsi la nécessité pour les deux claires et éliminer. Je ferais ceci:
using(StreamWriter thing = new StreamWriter(), DataSet DS = new DataSet()) { DS = SQLQueryMethod() do stuff to DS{...} }
Il suffit d'appeler le Éliminez sur DataSet DS depuis que je pense l'effacer juste avant un Éliminez ne sert à rien.
Il est effectivement nécessaire de le faire de la manière originale.
Cette question appartient probablement à http://codereview.stackexchange.com mais pour répondre à votre question, oui, oui, oui, mais je pense toujours que vous avez besoin 2 séparer les utilisations –
Dès que je vois '.Dispose()' dans une méthode instanciant ce même objet, je recule toujours et je vois comment réécrire cela dans le modèle 'using' qui est flagrant presque tout le temps. –
Je vois plusieurs réponses avec plusieurs instructions d'utilisation au lieu d'ajouter plusieurs éléments à une seule instruction using, y a-t-il une différence entre elles? Exemple: en utilisant (elementA, elementB) { } vs en utilisant (elementA) en utilisant (elementB) { } –