2

我做了一个名为 x 的类;所以我想使用动态分配来制作它的数组

x [] myobjects = new x();

但它给了我那个错误

无法将类型“ObjAssig4.x”隐式转换为“ObjAssig4.x[]”

我知道这是转储问题,但我是初学者

谢谢

4

5 回答 5

5
x[] myobjects = new x[10];

对于一个数组,你不用parens 'new x()' 创建一个新的数组虽然不是动态的。你可以使用 Array.Resize 来改变它的大小,但你可能在一个 List 之后

List<x> myobjects = new List<x>();
myobjects.add(new x());
于 2010-05-28T20:36:13.277 回答
1

我发现我可以做到这一点

x [] myobjects = new x[]{
   new myobjects{//prop. goes here},
   new myobjects{//prop. goes here}
}
于 2014-03-03T21:13:40.873 回答
1

您不想使用数组而是列表

List<SomeObject> myObjects = new List<SomeObject>();

仅供参考,您也声明数组错误。

它应该是

x[] 我的对象 = 新 x[5];

于 2010-05-28T20:33:43.260 回答
1
x [] myobjects = new x[numberOfElements];

numberOfElements创建一个对类型对象的引用数组x。最初这些引用为空。您必须x独立创建对象并将对它们的引用存储在您的数组中。

您可以使用如下初始化列表创建一个数组和一些对象,其引用将最终出现在数组中:

x [] myobjects = new x[3] {new x(), new x(), new x()};
于 2010-05-28T20:37:27.840 回答
0

错误

无法将类型“ObjAssig4.x”隐式转换为“ObjAssig4.x[]”

告诉您您正在尝试声明一个新的 x 并将其分配给您的数组。相反,您需要声明一个新数组(也需要一个大小):

x[] myobjects = new x[100];
于 2010-05-28T20:40:11.273 回答