Bonnes pratiques pour les instructions using imbriquées en C#
Dans les programmes C#, il est courant d'utiliser des lecteurs de flux pour effectuer des opérations d'E/S. Pour garantir que les ressources sont correctement publiées, ces lecteurs sont généralement inclus dans une instruction using. Cependant, ces instructions using peuvent parfois être imbriquées, comme le montre l'extrait de code suivant :
<code class="language-csharp">class IOOperations { public static bool CompareFiles(string filename) { // ... (代码省略了验证) ... using (StreamReader outFile = new StreamReader(outputFile.OpenRead())) { using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) { // ... (代码省略了比较逻辑) ... } } } }</code>
Améliorations des instructions imbriquées using
Dans cet exemple, les instructions using pour outFile et expFile sont imbriquées. Cette conception semble non conventionnelle et peut soulever des inquiétudes quant à la bonne libération des ressources.
Méthode d'optimisation
Pour résoudre ce problème, l'approche recommandée consiste à éliminer l'imbrication et à ajouter un crochet ouvert { après la dernière instruction using, comme indiqué ci-dessous :
<code class="language-csharp">class IOOperations { public static bool CompareFiles(string filename) { // ... (代码省略了验证) ... using (StreamReader outFile = new StreamReader(outputFile.OpenRead())) using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) { // ... (代码省略了比较逻辑) ... } } }</code>
Cette modification garantit que les deux lecteurs de flux seront publiés correctement une fois le bloc d'utilisation terminé. En suivant cette approche recommandée, nous pouvons gérer efficacement les instructions using imbriquées et maintenir une gestion correcte des ressources dans notre code C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!