如何在 C# 中使用动态分配来创建类对象数组?

发布于 2024-09-03 08:35:01 字数 223 浏览 8 评论 0原文

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

x [] myobjects = new x();

,但它给了我这个错误

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

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

谢谢

i made a class named x;
so i want to make array of it using dynamic allocation

x [] myobjects = new x();

but it gives me that error

Cannot implicitly convert type 'ObjAssig4.x' to 'ObjAssig4.x[]'

i know it's dump question but i am a beginner

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

£冰雨忧蓝° 2024-09-10 08:35:01
x[] myobjects = new x[10];

对于数组,您不创建带有括号“new x()”的新数组
但数组不是动态的。
您可以使用 Array.Resize 来改变它的大小,但您可能需要一个 List

List<x> myobjects = new List<x>();
myobjects.add(new x());
x[] myobjects = new x[10];

For an array you don't create a new one with parens 'new x()'
An array is not dynamic though.
You could use Array.Resize to alter it's size, but you're probably after a List

List<x> myobjects = new List<x>();
myobjects.add(new x());
皓月长歌 2024-09-10 08:35:01

您不想使用数组,而是使用 列表

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

供您参考声明数组也是错误的。

应该是

x[] myobjects = new x[5];

You don't want to use an array but a list

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

FYI you were declaring the array wrong too.

It should be

x[] myobjects = new x[5];

鹿港小镇 2024-09-10 08:35:01
x [] myobjects = new x[numberOfElements];

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

您可以使用初始化列表创建一个数组和一些对象,这些对象的引用最终会出现在该数组中,如下所示:

x [] myobjects = new x[3] {new x(), new x(), new x()};
x [] myobjects = new x[numberOfElements];

Creates an array of numberOfElements references to objects of type x. Initially those references are null. You have to create the objects x independently and store references to them in Your array.

You can create an array and some objects whose references will end up in the array, using an initialisation list like:

x [] myobjects = new x[3] {new x(), new x(), new x()};
梦醒时光 2024-09-10 08:35:01

我发现我可以做到这一点

x [] myobjects = new x[]{
   new myobjects{//prop. goes here},
   new myobjects{//prop. goes here}
}

i Found that i can do this

x [] myobjects = new x[]{
   new myobjects{//prop. goes here},
   new myobjects{//prop. goes here}
}
为人所爱 2024-09-10 08:35:01

错误

无法隐式转换类型
'ObjAssig4.x' 到 'ObjAssig4.x[]'

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

x[] myobjects = new x[100];

The error

Cannot implicitly convert type
'ObjAssig4.x' to 'ObjAssig4.x[]'

is telling you that you are trying to declare a new x and assign it to your array. Instead, you need to declare a new array (which will also need a size):

x[] myobjects = new x[100];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文