【发布时间】:2011-04-05 06:40:07
【问题描述】:
如果我有一个对象列表,例如 List<Cake>,是否可以在 Cake 对象中包含一个 private int key,它将在我每次添加到列表时存储一个自动递增的值。
我想要这个的原因是我可以填充一个组合框,其中包含我列表中所有“蛋糕”的每个元素的唯一值,我不必自己输入。
例如:
public class Cake
{
private int _id;
private string _name;
public Cake(string name)
{
_name = name;
}
public int GetID()
{
return _id;
}
}
List<Cake> myCakeList = new List<Cake>();
myCakeList.Add(new Cake("Sponge"));
myCakeList.Add(new Cake("Chocolate"));
myCakeList.Add(new Cake("Battenburg"));
myCakeList.ForEach(x => {Console.WriteLine(x.GetID());});
理想情况下,这段代码会返回:
0000001
0000002
0000003
或者(如果我想要一个随机的 id)
389hguhg907903
357fboib4969gj
fhgw90290682gg
您能否告知这是否可能(对于两种密钥类型)以及如何完成。另外,这是否是我的问题的糟糕解决方案。
非常感谢,
阿什利
【问题讨论】:
标签: c# containers auto-increment