在2D数组中插入变量

时间:2016-03-12 18:06:59

标签: c# arrays variables

我创建了一个2D数组:3列和222行(请参阅代码)。现在我想插入第一行0,0,0。我怎样才能做到这一点。

到目前为止,我有这个:

public float[,] arrayPosSpheres = new float[222, 3];

//array row one with zeros 
arrayPosSpheres [0] =  [0,0,0];

稍后我想在我的数组中访问这些值。例如,第一行和第二列。我该怎么做?

修改:

// Update is called once per frame (ORIGINAL) 
void Update()
{
    int initialpos = 10; 
    //create an array with 3 columns (x,y,z) and numberOfPoints rows 
    //Vector3[] arrayPosSpheres=new Vector3[(int)(20/(sizeSphere*overlay))]; 

    for (int j = 0; j < 221; j++) 
    {
        arrayPosSpheres [j] = arrayPosSpheres [j + 1]; 
    } 

    float functionXvalue = 221 * scaleInputRange / 222; 
    if (animate) 
    {
        functionXvalue += Time.time * animSpeed; 
    }

    arrayPosSpheres [221]=   Vector3 (functionXvalue,ComputeFunction(functionXvalue)*scaleResult,0); 

    for (int i = 0; i < 221; i++)
    {
        arrayPosSpheres [i] = arrayPosSpheres [i + 1];
    }

    for (int m = 221; m = 0; m--) 
    {
        for (int q = 0; q < 3; q++)
        { 
            // access of x,y and z values of sphere 221 
            plotPoints[m].transform.position = arrayPosSpheres[m][q]; 
        }
    }
}

1 个答案:

答案 0 :(得分:0)

感谢您的回答。我认为我需要两个循环,一个用于访问行,一个用于访问列。

这样的事情是否正确:

//
public float[,] arrayPosSpheres = new float[222, 3];


GameObject[] plotPoints;


// Use this for initialization
void Start () {

    //array row one with zeros 
    arrayPosSpheres [0][0] = 0;
    arrayPosSpheres [0][1] = 0; 
    arrayPosSpheres [0][2] = 0; 


    //fill whole array with zeros 
    for (int k = 1; k <= 221; k++) {

        for (int s = 1; s <= 3; s++) {

            arrayPosSpheres [k] [s] = arrayPosSpheres [k - 1] [s - 1];

        }


    }

我的目标是在第一行中按照我说的零。然后我会根据第一行中的零填充我的数组中的零。