What you are doing in the hard-coded one that you say works results in a _dataArray1 object that looks like this. (Note, the {} indicates that the underlying type is an array.)
[0] = {32, 45, 76567, 567, 878}
After your while loop you would have
[0] = {32}
[1] = {45}
[2] = {76567}
[3] = {567}
[4] = {878}
As Mark's answer above states, the way to solve is by assigning the value in the while like this
_dataArray1.Add( junkarray[z] );