C# 如何初始化自定义类型的数组?

C# 如何初始化自定义类型的数组?,c#,arrays,C#,Arrays,如何创建一个包含400个myClass类型元素的数组,并向每个元素传递不同的参数 我有两门课:mainClass和myClass。我想在mainClass中创建数组。如您所见,myClass需要3个参数 myClass: namespace prj1 { class myClass { public myClass(int A, int B int C) { ... ... .

如何创建一个包含400个
myClass
类型元素的数组,并向每个元素传递不同的参数

我有两门课:
mainClass
myClass
。我想在
mainClass
中创建数组。如您所见,
myClass
需要3个参数

myClass:

namespace prj1
{
    class myClass
    {
        public myClass(int A, int B int C)
        {
            ...
            ...
            ...
        }
    }
}
namespace prj1
{
    class mainClass
    {
        public myClass[] myVar = new myClass[400];

        public mainClass(int y, int m, int d)
        {
            ...
            ...
            ...
        }
    }
}
main类:

namespace prj1
{
    class myClass
    {
        public myClass(int A, int B int C)
        {
            ...
            ...
            ...
        }
    }
}
namespace prj1
{
    class mainClass
    {
        public myClass[] myVar = new myClass[400];

        public mainClass(int y, int m, int d)
        {
            ...
            ...
            ...
        }
    }
}
如果我必须使用
setValue
来初始化它们,我该怎么做?我应该如何通过3个参数

for (int i = 0; i < 400; i++)
            {
                myVar.SetValue(object Value, i);
            }
for(int i=0;i<400;i++)
{
myVar.SetValue(对象值,i);
}
试试这个

for (int i = 0; i < 400; i++)
 {
   myVar[i]=new MyClass(y,m,d);
 }
for(int i=0;i<400;i++)
{
myVar[i]=新的MyClass(y,m,d);
}
//或

for(int i=0;i<400;i++)
{
myVar.SetValue(新的MyClass(y,m,d),i);
}
用于(int i=0;i<400;i++)
{
myClass tempObject=新的myClass(y、m、d);
myVar.SetValue(tempObject,i)
}

为什么不在已有的循环中构造每个实例呢

for(int i = 0; i < myVar.Length; i++)
{
    myVar[i] = new myClass(arg1, arg2, arg3);
}
for(int i=0;i

您已经有了一个合适的构造函数,并且正在循环中初始化。。。1+1==2,我们不要尝试重新发明轮子,好吗?

我看不到在myClass类中定义了公共方法SetValue?@JohnGathogo:SetValue是数组类的一种方法……在我看来,你需要重新思考你的做事方式。如果需要用不同的对象填充数组,可能需要在数组或ArrayList或类似的东西中跟踪它们。如果没有,我发现了你的问题。在setValue方法中,我遗漏了“new”关键字。tnx很多。