Bonjour a tous, je fais face a un problème qui me dépasse.

J'ai une class Item304 qui comporte pas mal de variable et notamment specValue1, specValue2 qui sont des float. (c'est mon objet que je stock dans mes list)
j'ai une autre class qui crée tous mes différent item304 et les stock dans un dictionnaire .( cette class me permet de récupérer un item304 avec ces valeur vierge)

viens ensuite mon problème , je reçois mes infos de la database qui me donne l'id de mon item et les specValue1 et 2 (les specValue ne sont pas les meme d'un enregistrement a l'autre),
grâce a cette id je récupère une copie vierge de mon item304 et lui assigne les specValue1 et 2 puis ajoute cette item304 dans une list.
(avant l'ajout de mon item dans cette list je verifie les valeurs , dans mon example j'ai 3 item304 qui on l'id 10 mais on pour valeur specValue 1 et 2 = 45f-0f / 65f-0f / 85f-1f )

donc en toute logique ma list doit comporter 3 item304 d'id 10 et de specValue différente , or a la fin de ma fonction je retour cette list pour la traiter dans une autre class mais lorsque dans cette nouvelle class et fonction je recoi ma list , elle comporte 3 item304 avec pour id: 10 mais les 3 item on les meme specValu 1 et 2 qui on pour valeur 85f-1f qui est le dernier item envoyer dans la list

voici ma fonction qui recupere les info de la db pour construire mes item304 et les ajouter dans une list :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 Util.log("construct list 22");
                    string[] split = data2.Split('$');
                    foreach (string s in split)
                    {
                        Util.log("construct list 23");
                        string[] splitValueIt = s.Split('*');
                        int idItem = int.Parse(splitValueIt[0]);
                        int q = int.Parse(splitValueIt[1]);
                        float spec1 = float.Parse(splitValueIt[2]);
                        float spec2 = float.Parse(splitValueIt[3]);
                        int spec3 = int.Parse(splitValueIt[4]);
                        Item304 ii = dataB.getItem(idItem);
                        ii.quantity = q;
                        ii.SpecifiqueValue1 = spec1;
                        ii.SpecifiqueValue2 = spec2;
                        ii.specifiqueValue3 = spec3;
                        Util.log("Spec1 et 2 :" + ii.SpecifiqueValue1 + "--" + ii.SpecifiqueValue2);
                        listIt.Add(ii);
 
                    }
j’espère avoir était le plus clair possible dans mes explications

PS: je n'ai rien en static , aucune variable ni class ni fonction.