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

C# Discussion :

Utilité du passage par référence (ref)


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 23
    Points
    23
    Par défaut Utilité du passage par référence (ref)
    Bonjour,

    Je ne remets pas en cause l’intérêt du passage par référence, que c'est pratique temps en temps !

    Je m’interroge en réalité sur les passages par références implicite.

    Admettons le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class A {
       List<string> list = new List<string>();
       public A() {
          B b = new B(list);
       }
    }
     
    public class B {
       List<string> list;
       public B(List<string> l) {
          list = l;
       }
    }
    Pouvons-nous admettre que c'est effectivement du passage par référence implicite ?
    En effet, si nous modifions l'objet "list" dans la classe B, ces modifications seront aussi "répercuté" dans l'objet "list" de la classe B.

    Je vous pose cette question car un ami et moi-même ne sommes par d'accord ... il stipule que ce serait un autre mécanisme, mais je n'y crois pas.

    Merci.

  2. #2
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Ce n'est pas un passage par référence mais un passage par valeur ; toutefois la valeur transmise est une référence vers l'objet ; donc on peut en effet modifier le "contenu" de cet objet mais pas le réassigner à une nouvelle valeur.
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2013
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    ok merci.
    C'est donc un mélange entre les deux comme tu l'a expliqué.
    Merci

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

Discussions similaires

  1. Passage par référence
    Par e1lauren dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 01/09/2006, 12h59
  2. Passage par copie vs passage par référence
    Par bolhrak dans le forum C++
    Réponses: 11
    Dernier message: 20/08/2006, 23h37
  3. Réponses: 4
    Dernier message: 26/12/2005, 17h01
  4. Passage par référence
    Par difficiledetrouver1pseudo dans le forum Langage
    Réponses: 9
    Dernier message: 28/09/2005, 11h17
  5. Problème très rapide de passage par référence
    Par Noxexplorer dans le forum ASP
    Réponses: 2
    Dernier message: 23/06/2005, 10h02

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