如何在从列表中删除中间元素时重置对象int值

本文关键字:对象 int 元素 中间 列表 删除 | 更新日期: 2023-09-27 18:29:24

我得到了一个包含对象的列表,这些对象具有保存元素顺序的属性"serie":

---------------------------------
| **Element**       |**Serie**  |
---------------------------------
| Object1           |     1     |
---------------------------------
| Object2           |     2     |
---------------------------------
| Object3           |     3     |
---------------------------------

如果我去掉元素2,我的对象3的矩阵级数变为2,我怎么能得到呢?我的意思是,在去掉元素后,重置所有元素的级数值。

任何帮助都将不胜感激。

如何在从列表中删除中间元素时重置对象int值

您必须手动循环列表并修改对象的属性,将每个项上的值设置为等于项的索引。

如果你知道被删除对象的索引,那么你可以从那一点开始循环,因为之前的对象不会发生任何变化。

怎么样:

    public class Object
    {
        public int Serie;
    }

然后:

       var list = new List<Object>();
       list.Add(new Object { Serie = 1 });
       list.Add(new Object { Serie = 2 });
       list.Add(new Object { Serie = 3 });
       list.RemoveAt(1);
       int i = 1;
       foreach (Object obj in list)
       {
           obj.Serie = i;
           i++;
       }