2010-02-01 98 views
0

所以我一直想弄清楚如何用C#创建的对象填充数组。我发现这个代码示例解释了一些我需要做的事情。从C中的构造函数创建一个数组#

for (int i = 0;i<empArray.Length;i++) 
     { 
      empArray[i] = new Employee(i+5); 
     } 

但是,如果我将多个参数传入我的构造函数会发生什么?这看起来有什么不同吗?像empArray [i] =新员工(i,j,k);等等。如果是的话,如何将这些对象从阵列中读出来,说出控制台。

Console.WriteLine(empArray[i]) 

做的窍门,如果对象有多个变量传入它,或者我会需要一个多维数组?我对所有问题表示歉意,只是对C#有点新鲜感。

回答

2

传递给构造函数的参数只是对象初始化自身的信息。无论您传入多少个参数,只有一个Employee对象会出现,并且该对象将被放入empArray[i]

能总是访问使用empArray[<index>]Employee对象,其中指数是一个整数,其中0 = <索引< empArray.Length。

Console.WriteLine将一个字符串或任何对象与一个ToString()方法就可以了。因此,如果Employee对象实现ToString(),则Console.WriteLine(empArray[i])将起作用。你可能会实现ToString()这样的:

public string ToString() 
{ 
    return String.Format("{0} {1}", this.FirstName, this.LastName); 
} 
+0

如果我想访问的从empArray类方法,我只想做empArray [I] .SomeMethod一个? – LeSabo 2010-02-01 17:54:29

+0

完全正确! 'empArray [i]'返回索引为'i'的对象,所以你可以把它当作你直接处理那个对象。 – Aaron 2010-02-01 18:11:40

+0

对,非常感谢您的帮助,谢谢! – LeSabo 2010-02-01 18:26:11

1

是的,这是行得通的。在声明数组[i]中,i用作数组中位置的引用,并且与该对象的实际内容无关。