通过数组创建新对象时的C#增量

通过数组创建新对象时的C#增量,c#,arrays,class,object,constructor,C#,Arrays,Class,Object,Constructor,因此,我通过数组在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]); }

因此,我通过数组在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]);
        }
所以本质上是“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");

您需要一个静态变量,该变量可以递增并存储在成员变量中:

private static int _ID = 1;

public int ConsoleID { get; set; };
public string Available { get; set; }

public Console(string available)
{
    ConsoleID = _ID++;
    this.Available = available;
}

在循环中,您创建了五个对象,但将它们扔掉,因为您在任何地方都不使用它们。为什么不向构造函数添加第二个参数(ConsoleID)?
ConsoleID
特定于每个实例。构造函数正在向变量中添加,但每次声明新实例时,它都会将其设置回0,因为这是硬编码的。将其转换为一个
静态
变量,如@Sean回答了这个问题。简单有效。非常感谢。现在接受!由于无法在问题发布后立即接受答案,不得不再等待5分钟:)
private static int _ID = 1;

public int ConsoleID { get; set; };
public string Available { get; set; }

public Console(string available)
{
    ConsoleID = _ID++;
    this.Available = available;
}