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#] Quel type d'objet (tableau) utiliser?


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut [C#] Quel type d'objet (tableau) utiliser?
    Bonjour,

    Je dois récupérer des données d'un fichier XML qui s'organise comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <root element...>
    <message champ1="" champ2="" champ3=""...>
      <alternance1 tempo="">...</alternance1>
        <ligne1>...</ligne1>
        <ligne2>...</ligne2>
      <alternance2 tempo="">...</alternance2>
        <ligne1>...</ligne1>
    ................
    </message>
    Pour l'instant, je vois comme seule utilisation un tableau en escalier dont chaque case contiendra un champ du message + un tableau d'alternance qui contiendra dans la première case le champ tempo et dans la deuxième un tableau de lignes (qui n'aura qu'une seule case, la valeur du champ ligne).

    En conséquence, j'ai donc fait cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    //6 cases pour le 1er tableau.
    string[][][] premierTableau = new string[6][][];
     
    //Initialisation des cases du 1er tableau
    for (int i = 0; i < 5; i++)
    {
      //Champs 1,2,3,4,5 (1 élément max. par champ)
      premierTableau[i] = new string[1][];
    }
     
    //Champ alternance (10 alternances maximum).
    premierTableau[5] = new string[10][];
     
    //Champ ligne (10 lignes maximum par alternance).
    for (int i = 0; i < 10; i++)
    {
      premierTableau[5][i] = new string[10];
    }
    Pensez-vous que ma solution est adaptée à mon problème? Est-ce que le fait d'avoir tous ces tableaux ne prendra pas trop de mémoire?

  2. #2
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 82
    Points : 92
    Points
    92
    Par défaut
    Bonjour,

    Pourquoi ne pas faire une classe message qui aura pour attribut :
    champ1
    champ2
    ArrayList Alternance (List<T> si tu utilises le framework 2.0)

    et enfin ton fichier XML sera dans une collection de message.

    Je trouve ça plus propre comme solution.
    @+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Il est vrai que j'avais proscrit l'utilisation d'une classe car étant donné que le message est spécifique pour une seule petite partie du projet, je n'en voyais pas trop l'intérêt. Cependant, je pense maintenant que je vais suivre ton conseil et que cela me facilitera les choses par la suite (car il faut bien l'avouer, ça faisait un peu du codage "à l'arrache").
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/10/2013, 15h17
  2. Quel type d'objet renvoie Workbooks(nomFichier).Worksheets(1)?
    Par netoale dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/03/2011, 11h50
  3. Réponses: 3
    Dernier message: 10/03/2011, 11h49
  4. Réponses: 3
    Dernier message: 28/10/2005, 01h12
  5. [VB.NET] Quel objet tableau pour une recherche indexée ???
    Par Kitano dans le forum Windows Forms
    Réponses: 7
    Dernier message: 02/09/2004, 09h38

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