IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] - Remplir tableau à deux dimensions avec split


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut [C#] - Remplir tableau à deux dimensions avec split
    Bonjour à tous,

    J'ai besoin de comprendre comment remplir un tableau suite à un split.
    J'ai donc créer dans ma Classe, un tableau à deux dimensions avec 1000 lignes et 12 colonnes.
    Ensuite, le split, je l'utilise sur un fichier texte. Pour que vous sachiez comment j'avais fait, voici un code qui splittait et qui rendait mon fichier texte plus lisible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    List<string[]> list = null;
    using (StreamReader streamReader = new StreamReader(textsource.Text, Encoding.Default))
    {
      list = new List<string[]>();
      while (!streamReader.EndOfStream)
      {
        string[] line = streamReader.ReadLine().Split(';');
        list.Add(line);
      }
    }
    Je veux savoir comment le ranger dans un tableau à deux dimensions.
    Si je me suis mal exprimé, j'essaierais de mieux expliquer. Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Points : 444
    Points
    444
    Par défaut
    Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    string[] t = {"t1;t2;t3;","t4;t5;t6","t7;t8"};
     
                string[][] t2 = new string[10][];
     
                for(int i=0; i<3; i++)
                {
                    t2[i] = t[i].Split(new char[]{';'},StringSplitOptions.RemoveEmptyEntries);
                }

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Merci de ta réponse, oyigit mais en fait, je ne la comprends pas tout à fait.
    Si tu avais le temps, pourrais-tu expliciter les lignes de ton code, s'il te plaît ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    ya un tableau de string initialisé avec 3 chaines...

    et ensuite, pour chaque chaine, il rempli un tableau en décomposant les chaines grace au ";" comme séparateur...


    Si je peux me permettre une remarque : Si tu ne comprends pas le code sans mes explications, peut-etre devrais tu approfondir tes compétences .Net avec la lecture appliquée de tutoriaux sur .Net
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Points : 444
    Points
    444
    Par défaut
    En effet, mon premier tableau est une simulation de ton fichier. J'ai un tableau avec trois données (en fait cela correspond à trois lignes dans ton fichier). Pour chaque ligne, j'insère cela dans un second tableau (à deux dimensions cette fois). La fonction "Split" sur la chaîne de caractères retourne un tableau à l'aide du séparateur. J'insère le tableau résultant dans une cellule du tableau à deux dimensions.

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    En fait, j'avais compris que t'avais créé un tableau et un peu de la suite. C'était surtout pour le i < 3 que je ne comprenais pas. J'étais déboussolé (le mot est un peu fort) parce que je ne voyais pas pourquoi la limite était 3.
    Et aussi parce que tu prends directement un tableau alors que dans mon programme, c'est à partir d'un fichier texte.
    Comment puis-je faire pour voir le résultat (le tableau qui a finalement été crée) ?

  7. #7
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Salut,

    quel est ton but final ? Tes chaînes, après les avoir extraites, tu veux en faire quoi ?

    Et pour ce qui est de la visualisation, le plus simple, c'est le debugueur. Exécute ton code en mode pas à pas ; une fois arrivé à la fin de la fonction, en passant le curseur sur ton tableau de tableaux, tu pourras naviguer à l'intérieur et voir ce qu'il contient.
    ಠ_ಠ

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Une fois que j'aurais le tableau, il faudra que je classe.
    Ainsi, si j'ai ça au début (fichier texte):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Géant;Fruit;Bananes;2,50€
    Géant;Fruit;Fraise;2,25€
    Carrefour;Légumes;Poireau;1,50€
    Carrefour;Légumes;Carottes;2,00€
    Géant;Légumes;Pommes de terre;2,50
    Il faudra qu'à la fin de mon programme, j'obtienne un nouveau fichier texte qui ressemblera à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Géant Fruit Bananes 2,50€
    Géant Fruit Fraise 1,50€
                     Total = 4,00€
    Géant Légumes Pommes de terre 2,50€
                     Total = 2,50€
                 Total = 6,50€
    Carrefour Légumes Poireau 1,50€
    Carrefour Légumes Carottres 2,00€
                 Total = 3,50€
    Total = 10
    C'est pour ça que j'ai besoin de créer un tableau pour pouvoir naviguer dans les colonnes. Pour pouvoir les classer. En cours, je n'ai pas beaucoup travailler sur les fichiers texte alors je suis perdu avec tout ça.

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/05/2011, 14h50
  2. [Lazarus] Un tableau à deux dimensions, avec recherche
    Par Alea46 dans le forum Lazarus
    Réponses: 10
    Dernier message: 04/11/2010, 22h42
  3. tableau deux dimension avec STL
    Par adel25 dans le forum SL & STL
    Réponses: 2
    Dernier message: 12/06/2009, 16h09
  4. [Débutant] Problème avec tableau à deux dimensions
    Par beegees dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 10/12/2006, 14h06
  5. Réponses: 5
    Dernier message: 24/05/2006, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo