System.ArgumentOutOfRangeException

Résolu
moihenry Messages postés 55 Date d'inscription samedi 25 septembre 2004 Statut Membre Dernière intervention 2 avril 2007 - 29 mars 2005 à 20:35
moihenry Messages postés 55 Date d'inscription samedi 25 septembre 2004 Statut Membre Dernière intervention 2 avril 2007 - 29 mars 2005 à 21:30
Bonjour,

je fais ce code :

MessageBox.Show(pos.ToString(),rep.Length.ToString());

string nouv = rep.Substring(pos,rep.Length);

Ici il affiche la valeur de pos => 98 et de rep.Length => 200.

Et après j'obtient une System.ArgumentOutOfRangeException :

L'index et la longueur doivent faire référence à un emplacement situé dans la chaîne.

Nom du paramétre : Length .

at System.String.Substring(Int32 startIndex, Int32 length);

...





Pourquoi j'obtient cette erreur alors que les deux variables se trouvent dans la chaîne ?

Merci

C# top!!

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
29 mars 2005 à 21:08
position courante : 98
longueur de rep : 200

rep.Substring(pos, rep.Lenght); veut dire que tu commences à l'emplacement 98, et que tu prends les 200 prochains caractères.
Autrement dit, tu prends le sous-string de la postion 98 à la position 298! C'est un peu beaucoup pour un string de longueur 200, non ?

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
3
Rejoignez-nous