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

时间:2012-06-25 06:43:59

标签: c# arrays

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

我有两个课程:mainClassmyClass。我想在mainClass中创建数组。你可以看到myClass需要3个参数。

MyClass的:

namespace prj1
{
    class myClass
    {
        public myClass(int A, int B int C)
        {
            ...
            ...
            ...
        }
    }
}

mainClass:

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);
            }

3 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

试试这个,

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

//或

for (int i = 0; i < 400; i++)
 {
   myVar.SetValue(new MyClass(y,m,d),i);
 }

答案 2 :(得分:1)

for (int i = 0; i < 400; i++)
{
    myClass tempObject = new myClass(y,m,d);
    myVar.SetValue(tempObject,i)
}