Je cherche à vider mes lignes vides d'un tableau.

Résolu
cs_gomoz Messages postés 134 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 23 décembre 2009 - 30 juin 2005 à 18:26
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 1 juil. 2005 à 19:22
Bonjour,

//noms est une texte box multilignes
//j'ai une fonction de ce type
for(
int i=0;i<noms.Lines.GetLength(0);i++)
{
...noms.Lines[i]...

}

puis quand il boucle dessus et que dans ma text.box j'ai mis des retour chariot vide, il me dit que je suis en dehors des limite du tableau...
Une idée ?

[mailto:gomoz@free.fr Gomoz]

13 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
1 juil. 2005 à 07:53
Salut,


int dd = noms.Lines.GetLength(0);
ArrayList lines = new ArrayList();
string currentLine;

for(int i=0;i<dd;i++)
{
currentLine = noms.Lines[i];

// si la ligne n'est pas "vide", on la garde
if ( currentLine != string.Empty )
lines.Add(currentLine);
}

// affectation du nouveau tableau de lignes
noms.Lines = (string[])lines.ToArray(typeof(string));

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
30 juin 2005 à 19:54
essaie de faire ca
int dd = noms.Lines.GetLength(0);

for(int i=0;i<dd;i++)
{
...noms.Lines[i]...

YaoYao !!
1 + 1 = 10
0
aogie Messages postés 108 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 27 novembre 2007
30 juin 2005 à 20:42
Normalement, le code mentionné doit fonctionner. A l'endroit où tu écris des pointillés, ne modifierais-tu pas la valeur de i ???

-- AOGie --
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
30 juin 2005 à 20:56
nan, quand il ajoute des chariots, il modifie le noms.Lines.GetLength(0);, c pkoi je lui ai conseillé de fixer la valeur maximum de la boucle avant

YaoYao !!
1 + 1 = 10
0

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

Posez votre question
cs_gomoz Messages postés 134 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 23 décembre 2009
30 juin 2005 à 23:40
j'ais essayé la solution de Fildomen mais ca marche toujours pas...

Une exception non gérée du type 'System.IndexOutOfRangeException' s'est produite dans HttpRequest.exe
Informations supplémentaires : L'index se trouve en dehors des limites du tableau.

Sinon je ne modifie pas les lignes, je les consultes juste :(

[mailto:gomoz@free.fr Gomoz]
0
cs_gomoz Messages postés 134 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 23 décembre 2009
30 juin 2005 à 23:41
en fait je cherche juste une fonction comme .trim() qui m'elèverais les retours chariots vides

[mailto:gomoz@free.fr Gomoz]
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
1 juil. 2005 à 03:32
ben la fonction que tu cherche est bien trim, mais ajoute les charactère a enlever , comme trim('\n');

YaoYao !!
1 + 1 = 10
0
cs_gomoz Messages postés 134 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 23 décembre 2009
1 juil. 2005 à 04:14
oui mais il faut supprimer le retour chariot que si la ligne est vide. Car si je vire toutes les lignes ca sert stritement à rien de faire "for(int i=0;i<noms.Lines.GetLength(0);i++)" après ... ;)

[mailto:gomoz@free.fr Gomoz]
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
1 juil. 2005 à 07:42
Hello,

Je vois une erreur dans ton code. Si tu veux boucler sur les lignes de ton tableau :

for(int i=0;i<noms.Lines.Count;i++)...

La méthode GetLength(i) te donne le nombre de charactères à la ligne i.

Amicalement, SharpMao
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
1 juil. 2005 à 07:55
non, Lines est un tableau de string, donc un type Array :-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
1 juil. 2005 à 08:00
Oups,

Tu as raison coq, je me suis embrouillé.

Amicalement, SharpMao
0
cs_gomoz Messages postés 134 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 23 décembre 2009
1 juil. 2005 à 10:37
merci beaucoup, ca marche nikel ;)

[mailto:gomoz@free.fr Gomoz]
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
1 juil. 2005 à 19:22
SharpMao : le matin à 7h40 ça peut se comprendre ;-)

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
Rejoignez-nous