Foreach ArrayList

Foreach ArrayList - C#/.NET managed - Programmation

Marsh Posté le 20-04-2006 à 16:34:52    

Bonjour
Je vous explique d'abord se que je cherche a faire:
 
J'ai une classe CElement et une classe CIntervention.
Intervention comprend un element sur lequelle doit se faire l'intervention ( agregation ? )
Et maintenant je cherche a faire une classe CListeinter ( vention )
Qui contient un tableau avec plusieur CIntervention dedans.
Donc maintenant je cherche a savoir si il y a l'equivalent du vector en C Sharp.
Il me semble que ca doit etre arraylist mais je n'en suis pas sur et n'ai pas trop compri comment ca marche.
Si quelqu'un sais...


Message édité par korben31 le 24-04-2006 à 15:52:52
Reply

Marsh Posté le 20-04-2006 à 16:34:52   

Reply

Marsh Posté le 20-04-2006 à 16:39:28    

oui c'est ArrayList qui est d'ailleurs très facile à utiliser
 
ArrayList ar = new ArrayList();
ar.add(tonobjet);
 
et pour récupérer
tonobjet obj = (tonobjet) ar[indice];

Reply

Marsh Posté le 20-04-2006 à 16:41:31    

t'as à peu près tout là dedans:

Code :
  1. using System;
  2. using System.Collections;
  3. public class SamplesArrayList  {
  4.    public static void Main()  {
  5.       // Creates and initializes a new ArrayList.
  6.       ArrayList myAL = new ArrayList();
  7.       myAL.Add("Hello" );
  8.       myAL.Add("World" );
  9.       myAL.Add("!" );
  10.       // Displays the properties and values of the ArrayList.
  11.       Console.WriteLine( "myAL" );
  12.       Console.WriteLine( "\tCount:    {0}", myAL.Count );
  13.       Console.WriteLine( "\tCapacity: {0}", myAL.Capacity );
  14.       Console.Write( "\tValues:" );
  15.       PrintValues( myAL );
  16.    }
  17.    public static void PrintValues( IEnumerable myList )  {
  18.       System.Collections.IEnumerator myEnumerator = myList.GetEnumerator();
  19.       while ( myEnumerator.MoveNext() )
  20.          Console.Write( "\t{0}", myEnumerator.Current );
  21.       Console.WriteLine();
  22.    }
  23. }
  24. /*  
  25. This code produces the following output.
  26. myAL
  27.     Count:    3
  28.     Capacity: 16
  29.     Values:    Hello    World    !
  30. */


 
c'est tiré de la msdn ...


Message édité par _darkalt3_ le 20-04-2006 à 16:42:14
Reply

Marsh Posté le 20-04-2006 à 16:43:00    

donc en gros  

Code :
  1. ArrayList liste = new ArrayList();
  2. CIntervention intervention1 = new CIntervention(mon bordel);
  3. liste.add(intervention1);
  4. intervention1 = liste[1];


 
ca marche comme ca ?


Message édité par korben31 le 20-04-2006 à 16:45:18
Reply

Marsh Posté le 20-04-2006 à 16:44:24    

Code :
  1. intervention1 = (CIntervention)liste[1];

Reply

Marsh Posté le 20-04-2006 à 16:44:25    

au cast près, oui.
 
edit: grilled :o


Message édité par _darkalt3_ le 20-04-2006 à 16:44:39
Reply

Marsh Posté le 20-04-2006 à 16:44:40    

Ah ok sinon ya des iterateur aussi

Reply

Marsh Posté le 20-04-2006 à 16:46:04    

Oki bah merci a tous j'vais le tenter comme ca alors ca m'a lair assez simple ( un peut comme le vector quoi )

Reply

Marsh Posté le 20-04-2006 à 16:47:34    

Ca l'est oui.
 
Et oui aussi pour les itérateurs, cf la msdn.

Reply

Marsh Posté le 21-04-2006 à 12:28:42    

A noter qu'avec le FrameWork 2.0 les ArrayList peuvent être typés, ce qui améliore à la fois les perfs et la stabilité du programme : t'es sûr de ne pas avoir de pollution dans ton ArrayList
 
ArrayList<CIntervention> mesInterventions = new ArrayList<CIntervention>();

Reply

Marsh Posté le 21-04-2006 à 12:28:42   

Reply

Marsh Posté le 22-04-2006 à 12:55:40    

ah ok mais j'ai esseyer et jcroi que ca marche pas en plus c'est pour pda...
Mais jpe esseyer de mettre a jours

Reply

Marsh Posté le 24-04-2006 à 15:55:32    

maitenant jesseye de d'afficher ma ArrayList dans un tree
j'ai donc ca=>
intervention.Text = "Intervention";
position.Text = "Position";
this.treeView1.Nodes.Add(intervention);
this.treeView1.Nodes.Add(position);
 
Et il me fodrai faudrai faire un foreach je pense mais je sais pas trop comment faire parce que j'ai mon arraylist qui est dans une autre class en private  
alors soit je le met en public mais ca membete
soit je sais pas trop
 
dans lexemple ya ca
customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));
 
mais je voi pas trop ske ca fait le new oder("" );


Message édité par korben31 le 24-04-2006 à 17:11:24
Reply

Marsh Posté le 24-04-2006 à 17:29:37    

ben ça crée un object order à la volée :spamafote:

Reply

Marsh Posté le 24-04-2006 à 17:58:02    

c'est quoi les objet order ?
je crois que c'est un exemple ac une classe cree


Message édité par korben31 le 24-04-2006 à 18:02:13
Reply

Marsh Posté le 24-04-2006 à 19:04:53    

l'objet order, c'est un de tes objets :o dans ton cas, une CIntervention à priori :o

Reply

Marsh Posté le 24-04-2006 à 19:17:24    

oué mais il di qu'il pe pas le mettre en string

Reply

Marsh Posté le 29-04-2006 à 18:52:21    

Faut surcharger ToString(), non ?


Message édité par cesarr89 le 29-04-2006 à 18:52:43
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed