I'm having a problem using arrays in a hastable. The arrays need to be
a fixed size so I assign all of them the same double array with 14 zero values through
a foreach statement. I am unable to change the first array in the hashtable
without changing all of the other arrays, becuase that same first array
they were all assigned with. I describe the problem here through an example.
Hashtable H = new Hashtable();
double[] A = {1.5, 2.5, 3.5};
H.Add("A1", A);
H.Add("A2", A);
double[] T = (double[])H["A1"];
T = StackArrayMix.PopAdd(6.5, T); // this class pops off the last value
// and adds a new one like a stack, the A2 value also gets the array, if I would
// of given A2 a different array value it would not of happened
Console.Write("A1: ");
PrintArrayValues(T); // Output: 2.5, 3.5, 6.5
double[] T2 = (double[])H["A2"];
T2 = StackArrayMix.PopAdd(8.88, T2);
Console.Write("A2: ");
PrintArrayValues(T2); // Output: 3.5, 6.5, 8.88
// Why does the program interconnect the old arrays together and something like
// this does not:
int x = 5;
int y = x;
int z = x;
y++; // y is now 6 but z stays at 5
Console.WriteLine("x: " + x + "y: " + y + "z: " + z);
Maybe there is a better way to do this? Eventually I will need multidimmensional arrays.