【发布时间】:2020-10-27 12:37:46
【问题描述】:
用户插入 KID NAME,代码实例化一个对象并将其添加到对象列表中。 如何自动从 1 开始给每个对象一个唯一的编号,这样第一个 KID(object) 的编号为 1,第二个 KID 的编号为 2,依此类推。 我尝试过这样的事情,但结果是“stackoverflow”。 课堂应该是怎样的?
class Kid
{
public string KidName{ get; set; }
private static int Number { get; set; }
public int KidNumber { get; set; }
public Kid (string name)
{
this.KidName = name;
Number++;
this.KidNumber = Number;
}
}
【问题讨论】:
-
这种方法乍一看似乎没问题,只要你不处理多线程(使用这样的静态属性不是线程安全的,但不会导致
StackOverflowException)。您可能在代码的其他地方递归地实例化或无限期地调用。 -
请向我们展示您实例化类的代码。
标签: c# object constructor