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 :

Problème de copie d'objet


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Par défaut Problème de copie d'objet
    Bonjour,
    j'aimerais savoir: lorsque je me crée un objet de cette façon
    est-ce possible que mes objets "copie" et "orignal" ont la même référence...que c'est en fait le même objet? je demande ça parce que lorsque je modifie une donnée de l'un, l'autre est modifié. est ce normal? comment faire pour que ce soit 2 objets distinct?
    merci
    Shirya

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    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 204
    Par défaut
    je crois qu'il faut que tu revoies les bases de .net

    http://plasserre.developpez.com/vsommair.htm
    ici par exemple


    il y a 2 types de variables dans vb, les types par valeurs (integer, date, boolean etc...) et les types par référence (tous les objets, donc tout le reste)

    une variable de type par valeur contient la valeur
    une variable de type par référence contient un pointeur qui pointe vers l'endroit en mémoire où est l'objet
    quand on met un type par valeur dans un autre, c'est une copie de la valeur
    quand on met un type par référence dans un autre, ca copie la référence

    donc en effet, en modifiant une propriété d'un objet, toutes les autres variables qui poitent vers le meme voit la modification

    de meme 2 variables objets qu'on pourrait croire identique en contenu, vb te dira qu'ils sont différents car Is dit si la référence est la même


    pour créer une copie d'un objet, certaines classes implémente IClonable, dans ce cas là il suffit de faire
    monnewobjetpareil = monobjetoriginal.clone

    en fait, ca ne fait que recopier betement les valeurs des propriétés de type par valeur de l'un à l'autre après avoir instancié un nouvel objet


    pour les byref et byval, y a aussi des trucs pratiques à savoir

    et à savoir aussi, les string sont des types par références traités comme des types par valeur
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    En complément de ce qu'a dit sperot51, j'ajoute simplement que c'est une mauvaise habitude de déclarer une variable sans préciser son type... même si VB l'autorise, ça risque de te jouer de mauvais tours par la suite

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 315
    Par défaut
    merci c'est plus clair maintenant

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

Discussions similaires

  1. Problème de copie d'un tableau d'objets
    Par saimer dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 29/04/2015, 16h50
  2. Problème de copie d'un objet psycopg2 via deepcopy
    Par Sve@r dans le forum Général Python
    Réponses: 12
    Dernier message: 06/08/2012, 22h00
  3. Problème copie d'objet
    Par Julgood dans le forum Langage
    Réponses: 7
    Dernier message: 18/01/2009, 18h24
  4. [VB6] Copie d'objets
    Par austin49 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/05/2003, 18h05

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