System.ArgumentOutOfRangeException [Résolu]

Signaler
Messages postés
55
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
2 avril 2007
-
moihenry
Messages postés
55
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
2 avril 2007
-
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!!
A voir également:

4 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
44
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
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
44
Non, elle ne fait pas 128 caractères, mais bel et bien 203.
Comptes-les manuellement si tu me crois pas.

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
55
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
2 avril 2007

la chaine rep :

string rep = "<html><head><title>titre de la
page</title></head>IMAGEfdlsfjlsf

Retourner à
l'acceuil
</html>";



Et si je fais :

MessageBox.Show(rep.Length.ToString(),"Longueur chaine rep");

Il affiche 203 alors que la chaîne ne fait que 128 caractères.

Pourquoi ?

Merci

C# top!!
Messages postés
55
Date d'inscription
samedi 25 septembre 2004
Statut
Membre
Dernière intervention
2 avril 2007

Ah, ok je pensai que length était jusque quelle caractère.

Merci bcp Bidou super sympa.

C# top!!