将ID增加一个

时间:2015-03-28 01:10:08

标签: c#

我想在每次添加后将变量ID增加一个,但我不确定如何。

与现在一样,添加到列表框后ID始终为0。

   public class  Animal
    {
        private string name;
        private int age;
        private string gender;
        private int id; //<-- this is the one I want to increase.

      public int Id
        {
            get { return id; }
            set
            {
                if (value > 0)
                    id = value;
            }
}

这是我处理逻辑的动物管理器类。我尝试创建一个动物对象并增加id,但它没有用。

class AnimalManager
    {
        private List<Animal> AnimalList;
        private Animal ani;

        public AnimalManager()
        {
            AnimalList = new List<Animal>();
            ani = new Animal();
        } 

        public void add(Animal ObjIn)
        {

            AnimalList.Add(ObjIn);
            ani.Id++;

        }

以下是我添加到列表中的方式。

 private void UpdateResults()
        {
            Resultlst.Items.Clear();  //Erase current list
            //Get one elemnet at a time from manager, and call its 
            //ToString method for info - send to listbox
            for (int index = 0; index < animalmgr.ElementCount; index++)
            {
                Animal animal = animalmgr.GetElementAtPosition(index);


               toString method.
               Resultlst.Items.Add(animal.ToString());

            }
        }

1 个答案:

答案 0 :(得分:2)

目前,您不断增加Animal实例上的ID ...这个实例与您实际添加到集合中的其他实例无关。

使用计数器替换Animal中的私有AnimalManager实例。在将其添加到集合之前,增加计数器并将新值分配给Animal实例。

private class AnimalManager
{
    private List<Animal> AnimalList;
    private int animalCounter;

    public AnimalManager()
    {
        AnimalList = new List<Animal>();
    }

    public void add(Animal animal)
    {
        animal.Id = animalCounter++;
        AnimalList.Add(animal);
    }
}