【发布时间】:2019-12-27 09:52:41
【问题描述】:
我有一个类Cars,在方法@987654322@ 中创建多个Cars 并将它们作为数组cars 返回。在我的班级Home 中,我有方法main(),我想在其中使用数组“汽车”。在示例中,我只想写下每辆车的名称。但似乎name 属性为空。我做错了什么?
class Car
{
//only one attribute for test
public string name;
// public string color;
// public string brand;
public car()
{
}
//create multiple Car, limited to 2 for the test und return them in an array
public static Car[] get_cars()
{
Car[] cars = new Car[2];
for (int k = 0; k<cars.Length; k++)
{
cars[k] = new Car();
cars[k].name = "Car 0" + k;
}
return cars;
}
}
class Home
{
private void Main()
{
Car[] cars = new Car[2];
cars = Car.get_cars();
cars[0] = new Car();
//the output is empty, it seems that cars[0].name is emtpy;
set_label_header(cars[0].name);
cars[1] = new Car();
//the output is empty, it seems that cars[1].name is emtpy;
set_label_header(cars[1].name);
//that works
set_label_header("test");
}
}
【问题讨论】:
-
@Nuffin 更改代码,虽然它使这项工作:不应该这样做。拼写错误/错误可能是问题的原因。
-
@FrankerZ 问题的表述方式暗示这是一个运行时问题,并且代码被严重复制(它仍然无法编译,因为我错过了
Carctor)。否则我会同意。 -
C# 中的 Google 方法命名约定。