Rassure-toi, ce n'est pas du tout compliqué à utiliser... par exemple, si on reprend ta classe dont tu parlais (appelons là A) :
1 2 3 4 5 6
| class A
{
string mastring;
int monint;
double mondouble;
} |
Si tu veux faire un dictionnaire pour accéder à des objets A par la valeur de leur champ mastring, il faut que tu déclares un Dictionary<string, A> (le premier paramètre générique est le type de la clé, le second le type de la valeur) :
Dictionary<string, A> dico = new Dictionary<string, A>();
Pour ajouter des éléments :
1 2 3 4 5
| A a1 = new A();
A a2 = new A();
...
dico.Add(a1.mastring, a1);
dico.Add(a2.mastring, a2); |
Et pour accéder à un objet A stocké dans le dictionnaire avec la clé "hello":
Petite remarque (c'est peut-être évident mais il faut quand même le signaler...) : dans le dictionnaire, chaque clé doit être unique. Autrement dit, une clé donnée ne peut correspondre qu'à une valeur dans le dictionnaire.
Donc si tes champs mastring, monint et mondouble n'ont pas des valeurs uniques, tu ne peux pas les utiliser comme clé d'un dictionnaire.
Si le but est simplement d'avoir des listes triées suivant ces valeurs (avec éventuellement des valeurs en double), oriente-toi plutôt vers la classe SortedList
Partager