begin process at 2010 02 10 09:43:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

Copier un tableau d'objet


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Copier un tableau d'objet

jeudi 4 mars 2004 à 17:12:46 | Copier un tableau d'objet

redpooka

J'ai un tableau A, et un tableau B.
Le tableau A contient des objets.

J'ai besoin de copier le tableau A en B.
Or si je modifie les objets du tableau B cela modifie identiquement ceux de A (logique).
Justement je veux lorsque je modifie les objets de B que ca ne modifie pas A.
Comment faire ?

(Les tableaux sont des tableaux, et ne sont pas des arraylist ou collection.)
jeudi 4 mars 2004 à 21:35:24 | Re : Copier un tableau d'objet

gg00xiv

en faisant ta copie, tu affecte a des elements de ton tableau b des references de ton tableau a, ce qui implique des copies d'adresses mémoires et non de contenu.
Pour copier un contenu, tu dois implementer dans les objets à copier une méthode pour dupliquer l'objet afin de donner une autre référence à l'élément correspondant de ton tableau b.


[Membre du Labo .NET]
jeudi 4 mars 2004 à 23:05:16 | Re : Copier un tableau d'objet

redpooka

Justement là est mon problème je ne sais pas comment implémenter la méthode pour dupliquer.

Je ne vois pas comment trop m'y prendre.

Voici une méthode, mais je ne pense pas qu'elle soit propre.
C'est de créer un nouvel objet, et de retourner toutes les valeurs de l'objet que je veux copier, et les insérer dans le nouvel objet ?
vendredi 5 mars 2004 à 10:35:52 | Re : Copier un tableau d'objet

gg00xiv

ben c une solution, par exemple une classe personne :

class Personne{
private int _age;
private string _nom;

public Personne(int age, string nom){
_age = age;
_nom = nom;
}

public Personne Clone(){
return new Personne(_age,_nom);
}
}



[Membre du Labo .NET]
vendredi 5 mars 2004 à 23:22:19 | Re : Copier un tableau d'objet

redpooka

Merci beaucoup pour la réponse.

Mais j'ai un problème avec la solution.
Vu que j'ai une classe Pere, une classe garcon, et fille qui héritent de pere.
J'ai des objets Garçons et des objets filles qui sont dans un tableau. Et que j'ai justement besoin de copier.

Or comment faire pour pouvoir retourner le bon type d'objet ?

Si je met dans les classes enfants

public Garcon Clone() { return new Garcon();}

Pareil dans la classe fille.

Dans mon foreach qui s'occupe du copiage

foreach(Pere Temp in MyArrayList)
Temp.Clone();

Ne marchera pas

Et si j'utilise dans la classe père, un "public virtual" je ne retournerais pas le bon type ?
samedi 6 mars 2004 à 11:24:42 | Re : Copier un tableau d'objet

redpooka

Voilà ce que j'ai fait pour remedier à mon problème.
Mais je ne pense psa que ca soit propre.
Comment faire pour que ça le soit ?


using System;
using System.Collections;

namespace ConsoleApplication1
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
Garcon A= new Garcon();
Fille B= new Fille();

Pere[] Tab = new Pere[3];
Tab[0]=A;
Tab[1]=B;
for(int i=0; i<Tab.GetLength(0); i++)
if(Tab[i]!=null)
{
if(Tab[i].GetName()=="Garcon")
{
Garcon tmpobj;
tmpobj=(Garcon)Tab[i];
tmpobj=tmpobj.Clone();
tmpobj.chg("Coucou");
Console.WriteLine(tmpobj.GetName());
Console.WriteLine(Tab[i].GetName());
}
if(Tab[i].GetName()=="Fille")
{
Fille tmpobj;
tmpobj=(Fille)Tab[i];
tmpobj.Test();
}
}



Console.ReadLine();
}
}

class Pere
{
protected string Name;

public Pere(string nom){this.Name=nom;}

public virtual void Nom(){Console.WriteLine("Pere");}

public string GetName(){return Name;}

public void chg(string name){Name=name;}
}

class Garcon:Pere
{
public Garcon():base("Garcon"){}

public override void Nom(){Console.WriteLine("Garcon");}

public void Test(){Console.WriteLine("test G");}

public Garcon Clone(){return new Garcon();}
}

class Fille:Pere
{
public Fille():base("Fille"){}

public override void Nom(){Console.WriteLine("Fille");}

public Fille Clone(){return new Fille();}

public void Test(){Console.WriteLine("test F");}
}
}



Cette discussion est classée dans : objet, tableau, copier, objets, modifie


Répondre à ce message

Sujets en rapport avec ce message

Des objets dans un tableau [ par redpooka ] J'ai un tableau d'objet. Et dans ce tableau toutes les cases ne sont pas pris par un objet. Comment faire pour tester si dans la case il y a bien un o Copie d'objets [ par MyXiLo ] Bonjour,J'ai un petit soucie avec les copies d'objets: Lorsque je copie un objet et que je modifie la copie ca modifie la source egalement.Concretemen Array.Sort() [ par engelho ] Bonjour,Je possède un un tableau que je souhaite trier. Toutefois ce tableau comprend des objets...J'ai implémenté la fonction CompareTo().Mais je me Copier les octets d'un fichier image dans un tableau [ par Kbitnik ] Bonjour à tous, j'aimerai bien savoir comment je pourrai lire tout les octets d'un fichier jpg et de les mettre dans un tableau pour pouvoir a l'aide Flux des fichiers images [ par billou_13 ] Alors, voila mon titre est pas trop explicite mais par ce message, je vais essayer de l'être. J'ai un code qui réceptionne une image par une connexio COPIE D OBJET DANS UN TABLEAU [ par dam5978 ] Bonjour a tous!!Voila je cherche a copier un objet(de type double) dans un tableau, (de sorte que je puisse l afficher dans un messageBox(avec la méth quelques exemples d'objets [ par mathmax ] Bonjour,Je cherche quelques bon exemple de programme pour bien comprendre la programmation objet. Il me faudrait des programmes si possible simples et Tableau de pointeur d'objets différents (classes dérivées) [ par fregolo52 ] Bonjour, Je cherche un moyen de stocker mes éléments et de les retrouver facilement. J'ai une classe principale (nommé Camera) et des classes dérivée tableau de références [ par mathmax ] Bonjour,J'ai plusieurs entiers :int entier1, entier2, entier3, entier4Je voudrais créer un tableau qui contienne les références à mes entiers. C'est à C# - Textbox en tableau [ par Phil_13 ] Bonsoir, En VB6, le copier-coller d'une textbox (ou d'un autre objet) sur une feuille proposait de le convertir en tableau d'objets (facile à manipule


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales