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

VB.NET Discussion :

tableau ou collection [Débutant]


Sujet :

VB.NET

  1. #1
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut tableau ou collection
    Bonjour,

    Voici mon problème :

    J'ai à stocker dans un tableau une quantité aléatoire de données, sur deux colonnes, qui est alimentée au fur et à mesure de l’utilisation de l'application.

    Je ne peux pas utiliser un tableau puisque je ne connais pas la taille à allouer.

    En lisant un cours, j'ai vu qu'il existait des "collections". On peut rajouter au fur et à mesure des objets. Seulement, à aucun moment il est question de collection à deux colonnes...

    La solution doit être simple, mais la j'avoue ne pas trouver...

    Merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    tu as les listes qui peuvent contenir des objets donc tu peux créer 1 objet avec 2 propriétés (colonne 1 et colonne2 par exemple) ou tu as les dictionnary list qui ont une clé et une valeur (la valeur est lié à la clé, la clé est unique)

  3. #3
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    concrètement, un arrayList avec un tableau de une ligne sur deux colonnes dans chaque case ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 066
    Points : 4 233
    Points
    4 233
    Par défaut
    non une List
    http://msdn.microsoft.com/fr-fr/libr....80%29.aspx#Y0

    tu as juste a créer ton objet (ta classe) qui correspond a tes 2 colonnes, par exemple ta colonne 1 c'est nom et ta colonne 2 c'est prénom tu créer un objet personne avec 2 propriété nom et prénom et tu déclare une liste de personne, je ne sais pas quel est ton besoin exactement et quel type de donnée tu as dans ton tableau pour pouvoir bien t'aiguiller

  5. #5
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    C'est un aspect que j'ai du mal à comprendre.

    Concrètement, j'ai une classe niveau

    Un niveau contient des catégories. Et à chaque catégories, on définit des compétences.

    Donc à l'aide de méthodes de la classe niveau, je dois remplir une liste telle que :

    catégorie1 | compétence1
    catégorie1 | compétence2
    catégorie1 | compétence3
    catégorie1 | compétence4
    .....
    catégorie2 | compétence1
    .....
    catégorie3 | compétence1
    catégorie1 | compétence2
    catégorie1 | compétence3
    catégorie1 | compétence4
    .....

    Si j'ai bien compris, Je dois donc définir une nouvelle classe ?

    Edit : Ok c'est bon j'ai compris, ça fonctionne, merci

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 670
    Points : 1 169
    Points
    1 169
    Par défaut
    Bonjour,
    oui c'est bien ce que youtpout978 explique.
    Un bout de code succinct pour illustrer son propos :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Public Class Form1
     
        Private ListNiveaux As New List(Of Niveau)
     
     
        Private Sub btnAddList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAddList.Click
     
            Dim niv As New Niveau(tbNomNiveau.Text, cbCat.Text, cbCompet.Text) 'alimenté par 1 TextBox et 2 ComboBox pour l'exemple.
            ListNiveaux.Add(niv)
     
        End Sub
     
        Private Sub btnCherchNiveau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCherchNiveau.Click
     
            For Each ni As Niveau In ListNiveaux
                If ni.NomNiveau = tbNomNiveau.Text Then
                    Console.WriteLine("Catégorie : " & ni.Categorie & " ,compétence : " & ni.Competence)
                End If
            Next
        End Sub
     
    End Class
     
    Public Class Niveau
     
        Public NomNiveau As String
        Public Categorie As String
        Public Competence As String
     
     
        Public Sub New(ByVal m_Niveau As String, ByVal m_Categorie As String, ByVal m_Competence As String)
            NomNiveau = m_Niveau
            Categorie = m_Categorie
            Competence = m_Competence
        End Sub
     
    End Class
    En ajoutant au besoin un nom de niveau pour le retrouver dans la liste.
    On peut imaginer et ajouter simplement ce que l'on veut à l'Objet ...

  7. #7
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    Merci pour cet exemple, vraiment très clair.

    Petite question complémentaire :

    Je veux stocker ces listes pour les réutiliser ensuite :

    l'utilisateur rempli plusieurs listes pendant l'utilisation du logiciel. Il doit pouvoir sauvegarder, puis restaurer le jour ou il relance le programme.

    Je pense stocké au format xml.

    La sérialisation de classe est elle appropriée dans ce cas ?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    670
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 670
    Points : 1 169
    Points
    1 169
    Par défaut
    A mon avis, oui, c'est une bonne solution pour sauvegarder des données relativement simples.
    Ici un bon cours

  9. #9
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    Merci.

    Julien.

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

Discussions similaires

  1. Créer un tableau ou collection pour objets utilisateur Excel VBA
    Par andromedor dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/02/2010, 12h49
  2. Tableau ou Collection
    Par Marmounet dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/10/2008, 19h14
  3. Transformer un tableau en collection
    Par MrEddy dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 04/12/2007, 14h30
  4. Tableau ou collection ?
    Par abennis dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/07/2007, 15h12
  5. simple tableau ou collection ?
    Par raph707 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 16/02/2007, 10h57

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