Utilisation d'une variable locale non assignée
Résolu
Thibaudjr
Messages postés
249
Statut
Membre
-
Blockiestbeatle Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
Blockiestbeatle Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Actuellement en formation, nous avons à réaliser un programme en C# avec Visual Studio 2013.
Notre objectif personnel est de réaliser un programme permettant de générer une certaine quantité de nobmres aléatoires compris entre un minimum et un maximum pour ensuite afficher plusieurs résultats statistiques.
Je cherche donc à compter le nombres d'éléments identiques de la série de nombres aléatoires grâce à un compteur :
1 erreur est alors générée :
" Utilisation d'une variable locale non assignée 'compteur' "
au niveau de l'incrémentation du compteur dans le if.
Impossible d'effectuer la déclaration dans le if, car il m'est impossible de réutiliser la variable 'compteur' à l'extérieur du if.
Pour résumer :
* Si la déclaration est faite en dehors du if, l'erreur "Utilisation d'une variable locale non assignée 'compteur'" apparaît.
* Si la déclaration est faite dans le if, impossible de réutiliser la variable à l'extérieur du if.
Comment contourner cette erreur ?
Existe-t-il une autre solution pour compter le nombre d'éléments identiques dans la série.
Actuellement en formation, nous avons à réaliser un programme en C# avec Visual Studio 2013.
Notre objectif personnel est de réaliser un programme permettant de générer une certaine quantité de nobmres aléatoires compris entre un minimum et un maximum pour ensuite afficher plusieurs résultats statistiques.
Je cherche donc à compter le nombres d'éléments identiques de la série de nombres aléatoires grâce à un compteur :
int j; //j = élément à tester (j étant un des nombres aléatoires générés)
int compteur;
for(j = converted_min+1; j < converted_max; j++)
{
for(int i = 0; i<=nbrand.Value; i++)
{
if(tableau_nombres[i]==" " + j + " ")
{
compteur++;
}
}
}
//affichage de la variable 'compteur'.
1 erreur est alors générée :
" Utilisation d'une variable locale non assignée 'compteur' "
au niveau de l'incrémentation du compteur dans le if.
Impossible d'effectuer la déclaration dans le if, car il m'est impossible de réutiliser la variable 'compteur' à l'extérieur du if.
Pour résumer :
* Si la déclaration est faite en dehors du if, l'erreur "Utilisation d'une variable locale non assignée 'compteur'" apparaît.
* Si la déclaration est faite dans le if, impossible de réutiliser la variable à l'extérieur du if.
Comment contourner cette erreur ?
Existe-t-il une autre solution pour compter le nombre d'éléments identiques dans la série.
A voir également:
- Utilisation d'une variable locale non assigné c#
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Ip locale - Guide
- Arrivée a la ronde de livraison locale shein - Forum Consommation & Internet
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
1 réponse
Ne devrais-tu pas simplement donner une valeur à 'compteur' avant de l'incrémenter une première fois? Car s'il pointe vers 'null' quand tu la déclare, null++ ne dois pas vraiment faire rire ton compilateur...
D'autant plus que si je comprends bien tu n'utilise le compteur qu'une fois? Donc fais le partir de 0. Et puis si tu re-rentre une autre valeur à tester sans quitter ton application fais une boucle et au début de celle-ci remet ton compteur à 0 avant de prendre en compte la valeur à tester.
Je raconte peut-être une bêtise mais l'assignation ça me semble être cela...
A tester!
Gilles.
D'autant plus que si je comprends bien tu n'utilise le compteur qu'une fois? Donc fais le partir de 0. Et puis si tu re-rentre une autre valeur à tester sans quitter ton application fais une boucle et au début de celle-ci remet ton compteur à 0 avant de prendre en compte la valeur à tester.
Je raconte peut-être une bêtise mais l'assignation ça me semble être cela...
A tester!
Gilles.
Merci braucoup pour votre réponse rapide !
J'ai pas mal développé en C# pour des petits jeux etc, je suis déjà tombé sur ce genre d'erreur pas souvent explicite ni placée au bon endroit!
Bonne continuation