[C#]Fonction de conversion ou redondance de stockage
Hello,
je dois stocker des données sous différents formats.
Je dispose d'une classe dans laquelle j'ai défini un Dictionnary.
Car à une certaine valeur je dois associer une liste de données.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
public class MyClass {
Dictionnary <double,List<Point>> dico = new Dictionnary<double,List<Point>>();
public void AddPoint (double key,double coordX,double coordY){
List<Point> list = null;
if (!dico.TryGetValue(key, out list))
{
// Création d'un nouveau élement associé à la clé
list = new List<Point>();
dico.Add(key, list);
}
Point point = new Point(coordX,coordY);
list.add(point);
}
}
public class Point {
double X;
double Y;
} |
Mais je dois aussi utiliser de temps en temps l'ensemble de ces données pour différents calculs.
Je me demande si je dois créer en plus une list pour stocker toutes les références vers tous les points ou utiliser une fonction de conversion ?
Soit j'utilise une BindingList :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public class MyClass {
Dictionnary <double,List<Point>> dico = new Dictionnary<double,List<Point>>();
BindingList<Point> listBinding = new BindingList<Point>();
public void AddPoint (double key,double coordX,double coordY){
List<Point> list = null;
if (!dico.TryGetValue(key, out list))
{
// Création d'un nouveau élement associé à la clé
list = new List<Point>();
dico.Add(key, list);
}
Point point = new Point(coordX,coordY);
list.add(point);
listBinding.add(point);
}
} |
ou utiliser une fonction de conversion pour regrouper toutes les listes en une seule.
Qu'est-ce qui est le moins coûteux d'après vous ?