Collection d'objet - Conception - C#/.NET managed - Programmation
Marsh Posté le 02-12-2007 à 21:06:55
le mieux je pense est d'utiliser les génériques
synthaxe:
ArrayList list = new ArrayList();
public void addUnite<T>(T value)
{
list.add(T);
}
ou d'autres synthaxe utilisant les génériques de façon semblable.
Marsh Posté le 03-12-2007 à 10:54:15
Ou plus simplement : ArrayList<Unite> list = new ArrayList<Unite>();
...
list.Add(une variable de type Unite);
...
Marsh Posté le 03-12-2007 à 10:56:26
Xas a écrit : Ou plus simplement : |
+1, avec une paire de méthodes pour ajouter ou retirer une unité d'un schéma
Marsh Posté le 04-12-2007 à 16:14:48
D'ailleurs c'est quoi la différence entre "ArrayList<T>" et "List<T>" ?
Moi j'utilise tout le temps "List<T>".
Marsh Posté le 04-12-2007 à 16:26:12
L'interface c'est pas IList plutot...
Sinon le ArrayList c'est parce que... une simple habitude d'utilisation intensive prises sous 1.1...
Marsh Posté le 04-12-2007 à 16:26:26
MagicBuzz a écrit : D'ailleurs c'est quoi la différence entre "ArrayList<T>" et "List<T>" ? |
(putain mais quelle daube la MSDN )
D'après ce que j'ai pu comprendre, ArrayList est la classe originelle (1.0), List est la version Generic (2.0). Donc il semblerait que "ArrayList<T>" ne soit pas censé fonctionner.
Donc List est type-safe et potentiellement mieux optimisé que ArrayList.
Xas a écrit : L'interface c'est pas IList plutot... |
Si, Collection dans un cas et Collection.Generic dans l'autre, j'ai confusionné avec java.
Marsh Posté le 04-12-2007 à 16:27:45
-- Ah ok. Donc moi y'en a bon pour un coup --
D'après un test rapide sous VS2005, c'est surtout que :
ArrayList n'est pas générique. On peut ajouter/supprimer des valeurs de type "object". C'est donc une collection d'éléments non typées (ce qui inclu aussi des types valeur).
Alors que List<T> est donc une liste générique typée : une fois le type défini, on ne peut y mettre que des éléments du type choisi (ce qui inclu aussi les types valeur).
Donc ArrayList c'est cool pour planter son programme, d'autant qu'il dispose d'une méthode Sort(), mais aussi Insert() et autres méthodes succeptibles de modifier l'ordre des éléments. Donc on a vite fait de plus trop savoir ce qu'on tente de lire, et commencer à faire de la choucroute avec de la bétrave.
Marsh Posté le 04-12-2007 à 16:46:13
Il me semble que la version générique ArrayList<T> existerait bien mais qu'elle ne serait qu'un synonyme alias de List<T>..
Comme je suis à peu près sur d'avoir foutu des ArrayList<T> chez moi, je reste dubitatif...
Faut que je vois ça ce soir..
Marsh Posté le 04-12-2007 à 16:56:54
En tout cas, il n'est pas dans "System.Collections.Generic", et celui qui est dans "System.Collections" fonctionne avec des "object".
Marsh Posté le 01-12-2007 à 23:23:32
Bonjour à tous,
Petite question ultra rapide mais je veux etre sur :
J'ai deux classes :
- Unite
- Schema
Je fais ma classe page normalement :
public class Unite{ } avec mes attributs Titre, ChefUnite ...
et ma seconde classe :
public class Schema {} avec mes attribus AutheurSchma,Date de création, ... ET une collection d'unités
Question : Comment je modelise dans ma classe cette collection ???
Merci de vos conseils
Cordialement,