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 :

collections.Add fait disparait mon élément


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut collections.Add fait disparait mon élément
    Bonjour,

    je suis nouveau en vb.net, je programmais toujours en c#

    j'ai une collection d'item A vide.
    j'ai une seconde collection d'item B avec 2 éléments.
    item de même types.

    lorsque j'ajoute à A un élément de B, ce même élément disparait de B

    'macollectionA.items.count vaut 0
    'macollectionB.items.count vaut 2
    après avoir fait ceci: macollectionA.Add(macollectionB(0))
    'macollectionA.items.count vaut 1: logique
    'macollectionB.items.count vaut 1:

    je ne comprends rien

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Salut, c'est quoi le type exact de ta collection ? Et peux-tu placer tout le bout de code ? (avec les balises en plus)

  3. #3
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    ce sont des MenuItem

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For a=0 To macollectionB.Items.count-1 Step 1
    macollectionA.Items.Add(macollectionB(a))
    Next
    mon but est donc d'ajouter à ma collectionB l'ensemble des items présent dans macollectionB.
    en c#, pas de problème mais ici en vb.net lors de l'ajout, macollectionB perd un élément

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Euh tu es sûr que ce sont des MenuItem ? Parce que j'ai beau faire

    et je trouve pas Items comme proposition par VS...ou alors je suis un manche ^^

  5. #5
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    pardon j'ai oublié un petit point.

    Menu.Item, qui sont des menuitem

    j'ai l'impression que ca vient des fameuses références en vb.net qui n'existent pas en C# et qui considèrerait mon opération comme un transfert de pointeur et pas comme une copie d'un élément de ma collection B vers un nouvel élément de ma collection A.

    en attendant j'ai contourné le problème en faisant un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    macollectionA.Items.Add(New MenuItem(macollectionB.Item(a).Text, macollectionB.Item(a).NavigateUrl))
    pour forcer la création d'un nouveau menuitem dans a; ca fonctionne très bien mais j'aimerais l'explication de cette bizarrerie vb.net

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    si les menus sont gérés comme les control de la propriétés controls c'est normal
    si un menu ne peut avoir qu'un parent, il serait normal qu'il disparraisse d'une collection quand tu le mets dans l'autre
    avec un list(of ) tu n'aurais pas le soucis
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 21/07/2006, 11h23
  2. [SimpleXML] Le contenu de mon élément ne s'affiche pas
    Par alliance dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/05/2006, 20h27
  3. [Graphics2D] Mon panel fait ramer mon appli
    Par legzo dans le forum 2D
    Réponses: 6
    Dernier message: 22/07/2005, 15h16
  4. [TP7] Turbo Pascal 7 fait chauffer mon ordinateur
    Par wanbihan dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 30/01/2005, 11h21
  5. Int 21H AX=716Ch ne fait pas mon affaire !!
    Par TheBigMac dans le forum Assembleur
    Réponses: 4
    Dernier message: 10/09/2004, 20h51

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