【发布时间】:2020-07-22 04:05:13
【问题描述】:
所以我通过数组在 Console 类中添加/创建对象:
string[] console_available = { "Yes", "Yes", "Yes", "Yes", "Yes" };
for (int i = 0; i < console_available .Length; i++)
{
Classes.Console console = new Classes.Console(console_available[i]);
}
在类本身中,我有 int console_id,我想增加它,但由于某种原因,它只使用下面的构造函数增加一次:
public int ConsoleID { get; set; } = 0;
public string Available { get; set; }
public Console(string available)
{
ConsoleID++;
this.Available = available;
}
所以本质上它都是“1 是”,我需要它是“1 是”、“2 是”、“3 是”。
我真的不想走多行代码来创建对象的路线,例如:
Classes.Console console = new Classes.Console("Yes");
Classes.Console console2 = new Classes.Console("Yes");
Classes.Console console3 = new Classes.Console("Yes");
【问题讨论】:
-
在您的循环中,您创建了五个对象,但将它们扔掉,因为您不会在任何地方使用它们。
-
为什么不向构造函数添加第二个参数(ConsoleID)?
-
ConsoleID特定于每个实例。您的构造函数正在添加到变量中,但每次您声明一个新实例时,它都会将其设置回 0,因为这是硬编码的。把它变成一个static变量像@Sean 回答来解决这个问题。
标签: c# arrays class object constructor