动态数组的对象

时间:2011-07-01 00:07:55

标签: arrays object dynamic

也许解决方案非常简单。它一定是,但也许我忽略了一些东西

我有:

public class Object {
    public int pos_x;
    public int pos_y;
}

Object testObject[] = new object[10]

然后在函数中的某个地方

testObject[1].pos_x = 1;

它强制关闭我的应用..怎么样?为什么?造成这种情况的原因可能是什么。

此外。理想情况下,我需要这样的东西

testObject[].add_new_object();
testobject[].remove_item(3);

可以这样做吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您已经分配了一个可以容纳10个对象的数组。

您还需要分配对象。

答案 1 :(得分:0)

我不确定您使用的语言 - 如果C#您不能使用'Object'作为类名。

首先创建一个自定义对象('对象'数据类型):

public class MyObject {
    public int pos_x;
    public int pos_y;
}

......公平地说,这是一个保持坐标的非常基本的类。接下来,您要创建一个MyObject数组。为此,您将数组类型声明为MyObject[]并提供可选大小:

MyObject[] myObjArray = new MyObject[10]; // this gives a zero-based array of 10 elements, from 0-9

现在,您需要填充数组。最常用的方法是使用一个从0到9计数的计数器变量,我们在数组中使用相同的元素:

for (int i=0; i<=9; i++)
{
    myObjArray[i] = new MyObject();

    // you can also assign the variables' values here
    myObjArray[i].pos_x = GetNextXVal(); // get the X value from somewhere
    myObjArray[i].pos_y = GetNextYVal(); // get the y value from somewhere
}  

根据您的语言,我确信我们可以为您提供一些好的教程,书籍或其他参考资料,以帮助您入门。

快乐的编码!