创建一个类数组

use*_*351 1 c# arrays object

我需要创建另一个类的数组.例:

namespace std
{
      public class Car
      {
           double number,id;

           public Car()
           {
               // initializing my variables for example:
               number = Random.nextdouble();
           }

      }
      public class Factory
      {
           public Factory(int num)
           {
               Car[] arr = new Car(num);
           }
      }
}
Run Code Online (Sandbox Code Playgroud)

问题是我收到此错误:

'Car'不包含带'1'参数的构造函数

我只是需要有一个数组Car中的Factory类(汽车变量与它的构造函数初始化).

Jon*_*eet 9

你刚刚使用了错误的括号.您总是使用方括号表示数组和索引器.圆括号用于调用方法,构造函数等.您的意思是:

car[] arr = new car[num];
Run Code Online (Sandbox Code Playgroud)

需要注意的是传统的.NET类型的Pascal-套管,所以你的类型应该是CarFactory而不是carfactory.

还要注意,在创建数组之后,每个元素都将是一个空引用 - 所以你不应该写:

// Bad code - will go bang!
Car[] cars = new Car[10];
cars[0].SomeMethod(0);
Run Code Online (Sandbox Code Playgroud)

代替:

// This will work:
Car[] cars = new Car[10];
cars[0] = new Car(); // Populate the first element with a reference to a Car object
cars[0].SomeMethod();
Run Code Online (Sandbox Code Playgroud)