Problème avec la fonction substring

Fermé
FAEBDC - 24 janv. 2023 à 20:04
 Zang - 24 févr. 2023 à 15:39

Bonjour,

Je code un petit programme qui doit prendre un fragment de 4 caractères d'une string selon la valeur d'une autre variable (ça parait bizarre écrit comme ça mais j'en ai besoin). Dans certains tests, ça fonctionne mais dans ce cas, on m'affiche "

Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object"

Voici le fragment de code (je suis sûr et certain que ROW contient au moins 108 caractères et index pour le Substring ne le dépasse pas même en rajoutant 4) :

string ligneActuelle = ASCIIfinal[i];

ASCIIfinal[i] = ligneActuelle + ROW.Substring(index[z] * 4, 4); // ligne coupable

J'espère que mon message est déchiffrable et vous remercie par avance pour votre réponse.

A voir également:

7 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
25 janv. 2023 à 19:39

Je t'ai demandé une capture du moment où ça plante, s'il te plait.

Je veux voir des lignes de codes, VS qui surligne une ligne etc...

Parce que ce que tu dis n'est pas cohérent avec le message d'erreur.

Il y a peut-être un élément qui ne te paraît pas important et qui manque à ta description qu'on verra comme ça.


Par exemple, le fait d'ajouter return, solutionnant le problème, tend à me faire penser que le vrai problème est plus loin.


1
Grandasse_ Messages postés 924 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 27 avril 2023 592
24 janv. 2023 à 20:08

Bonjour,

Je t'invite quand même à déboguer et regarder le contenu de ROW et de index (ainsi que la valeur z) pour quoi à quoi ça ressemble au moment où ça plante.


0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
24 janv. 2023 à 20:10

Bonjour 

regarde aussi le contenu de ligneactuelle


0

Oui, j’ai déjà vérifié, ils ont tous des valeurs correctes. Y a-t-il une autre raison possible ?

0

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

Posez votre question
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
24 janv. 2023 à 21:55

ASCIIfinal et i, aussi ont des valeurs ?

Si oui, peux-tu poster une capture d'écran du plantage avec les espions ?


0

Voilà. ROW continue et fait 108 caractères, ligneActuelle a "" comme valeur au début.

J'ai remarqué dans mes tests qu'il ne plante pas lorsque je place un return juste après (mais ce n'est quand même pas ce que je veux) : 

string nvLigne = ligneActuelle + ROW.Substring(indexs[z] * 4, 4);

return;

0

Bonjour,

Vous pouvez aussi faire un try/catch et mettre le breakpoint sur votre ligne pour avoir toute la stacktrace.

0