如何在C#中创建对象的Array或ArrayList?

时间:2010-10-06 21:26:14

标签: c# arrays

我有自定义对象MyClass,我需要创建它的3个实例。

而不是做一些像哑巴一样的事情:

MyClass instance1 = new MyClass();
MyClass instance2 = new MyClass();
MyClass instance3 = new MyClass();

我不能做这样的事情:

MyClass[] instances = new MyClass();

instances[0].somemethod;

5 个答案:

答案 0 :(得分:7)

在循环中执行:

MyClass[] instances=new MyClass[3];
for(int i=0;i<3;i++)
{
   instances[i]= new MyClass(); 
}

或者直接创建数组:

MyClass[] instances= new MyClass[]{new MyClass(), new MyClass(), new MyClass()};

答案 1 :(得分:3)

MyClass[] instances = new MyClass[3];

for (int i = 0; i < instances.Length; i++)
   instances[i] = new MyClass();

答案 2 :(得分:2)

使用

MyClass[] instances = new MyClass[num];
for (int i=0; i<num; i++)
{
  instances[i]=new MyClass();
}

MyClass[] instances = new MyClass[]{ new MyClass(), new MyClass(), new MyClass()};

答案 3 :(得分:2)

如何使用LINQ?

MyClass[] instances = Enumerable.Repeat(0, 3).Select(i => new MyClass()).ToArray();

性能考虑因素留给读者练习。 ; - )

答案 4 :(得分:1)

使用Linq:

MyClass[] instances Enumerable.Range(0, 3).Select(_ => new MyClass()).ToArray();

起始值0并不重要,我们只想要一些带有3个元素的IEnumerable。或者Enumerable.Repeat也可以工作,再次忽略第一个参数。