System.ArgumentOutOfRangeException [Résolu]

Messages postés
55
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
2 avril 2007
- 29 mars 2005 à 20:35 - Dernière réponse :
Messages postés
55
Date d'inscription
samedi 25 septembre 2004
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!!
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
- 29 mars 2005 à 21:08
3
Merci
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

Merci cs_Bidou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
- 29 mars 2005 à 21:12
1
Merci
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
Commenter la réponse de cs_Bidou
Messages postés
55
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
2 avril 2007
- 29 mars 2005 à 21:04
0
Merci
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!!
Commenter la réponse de moihenry
Messages postés
55
Date d'inscription
samedi 25 septembre 2004
Dernière intervention
2 avril 2007
- 29 mars 2005 à 21:30
0
Merci
Ah, ok je pensai que length était jusque quelle caractère.

Merci bcp Bidou super sympa.

C# top!!
Commenter la réponse de moihenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.