我有一个列表,其中包含 X 类的许多对象。
我通过clone
函数添加一个对象,它有自己的索引,但如果我使用克隆添加一个对象,该对象将接收与第一个克隆相同的索引。
这里有一些代码:
public void AddCopyObj(List<x> MyList, int Idx)
{
x AddCloneObj=MyList[Idx].Clone();
MyList.Insert(Idx+1,AddCloneObj)
}
public List<int> GetAllIndexs(List<x> MyList)
{
List<int> IndexList = new List<int>();
foreach(x myXvar in MyList)
{
IndexList.add(MyList.IndexOf(myXvar));
}
return IndexList ;
}
例如:如果我有 10 个对象,其中一个我做了两次克隆,我将有 12 个对象,并且两个克隆的索引相同(它们不在同一个索引上,函数 IndexOf 返回相同的一个)
我能做些什么?
编辑:
public x Clone()
{
x clone = new x(Int32.Parse(this.Name.Split(new char[1] { ' ' })[1]) + 1);
clone.Copy(this);
return clone;
}