bonjour, je me prend la tete depuis 2h sur un truc bizarre. En tout cas que moi je n'arrive pas a expliquer et je suis coincé.

voici une la partie de mon code qui me rend dingue:

Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
a = Data.Datas.Item[0].TabDATA[i];
Data.Datas.Item[0].TabDATA[0]=a;
a = 5;
Data.Datas.Item[1].TabDATA[0]=a;


Data.Datas est une classe dans laquelle j'ai pour le moment 2 Item [0] et [1].
en Data.Datas.Item[0].TabDATA[0] j'ai 0;

Lorsque j'affecte la valeur 5 en Data.Datas.Item[1].TabDATA[0] et ben j'ai

Data.Datas.Item[0].TabDATA[0] = Data.Datas.Item[1].TabDATA[0]=5

Je n'affecte pas au bon endroit. et ,pour moi , y'a aucune raison.
Si vous avez une idée de ce que j'aurais mal fait je suis preneur.

Pour information. j'ai dans ma classe inserer le second Item avant l'autre. J'ai donc utilisé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Array.Copy(Item, _FirstAdresseVirtuelle, Item, _FirstAdresseVirtuelle + 1, _MaxConfigGraph - _FirstAdresseVirtuelle);
Est ce que ca viendrai de là ?

j'ai essayer d'affecter une autre variable :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Data.Datas.Item[0].QuantumTemp =15;
Data.Datas.Item[1].QuantumTemp = 125;
Là par contre je n'ai pas de souci ...

Info complémentaire :

Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
		public struct _AFFICHE_N
		{
			public byte Numserie;
			public int QuantumTemp;			
			public short NbData;
			public double[] TabDATA;
//----------------------------------------------------------
			public void Initialize()
			{
				TabDATA = new double[1001];
			}
}

Merci de votre aide / conseil(s)




[Edition]

Bon j'ai cherché : je comprend pas mais visiblement le Array.copy semble me copier non pas les valeurs mais le pointeur. C'est incompréhensible. si quelqu'un a une explication car ca me semble pas logique. et nulle part dans mon code je fais un truc du genre a[] = b[] (qui copie l'adresse).

Enfin Pour moi c'est plus bloquant j'ai passé l'apres-midi a remanier ma classe et mon code en utilisant la List <System.Collections.Generic> Ca fonctionne mieux finalement Mais ca restera un grand mystere.