Pourquoi l'erreur « Utilisation d'une variable locale non attribuée » se produit-elle lors de l'utilisation de l'instruction if en C# ?
Lors de l'utilisation des instructions if en C#, vous pouvez rencontrer l'erreur « Utilisation d'une variable locale non attribuée », même si vous avez l'intention d'attribuer une valeur à la variable dans le bloc conditionnel. En effet, le compilateur ne peut pas garantir qu'un certain bloc de code sera exécuté.
Considérons le code suivant, qui utilise les variables annualRate
, monthlyCharge
et lateFee
:
<code class="language-csharp">if (condition1) { // 为变量赋值... } else if (condition2) { // 为变量赋予不同的值... }</code>
Étant donné que le compilateur ne peut pas déterminer quelle condition sera satisfaite, il suppose qu'une ou les deux variables ne peuvent pas se voir attribuer de valeur, ce qui entraîne le message d'erreur.
Pour résoudre ce problème, vous pouvez utiliser un bloc else {}
pour garantir qu'au moins un bloc sera exécuté, garantissant ainsi que toutes les variables se voient attribuer des valeurs. Alternativement, vous pouvez utiliser l'instruction switch
au lieu de l'instruction if/else
car elle garantit qu'au moins un case
sera exécuté.
<code class="language-csharp">switch (condition) { case 1: // 为变量赋值... break; case 2: // 为变量赋予不同的值... break; default: // 默认情况 break; }</code>
En utilisant un bloc else
ou une instruction switch
, vous indiquez au compilateur que toutes les variables seront affectées, quel que soit le bloc exécuté, éliminant ainsi l'erreur "utilisation d'une variable locale non attribuée".
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!