如何将序列ID添加到另一个类列表中的类?

时间:2011-06-20 09:26:11

标签: c#

我有以下课程。 Parent类的内部是ParentDetail列表。现在我需要向ParentDetail类添加一个新字段。该字段称为Id。我需要的是主类中的一个方法,它将遍历ParentDetails并使用从1开始的数字填充Id字段。

有人能想出一个简单的方法吗?我不确定如何迭代列表。

public class Parent {
        public IList<ParentDetail> ParentDetails {
            get { return _ParentDetails; }
        }
        private List<ParentDetail> _ParentDetails = new List<ParentDetail>();
        public Parent() {
            this._ParentDetails = new List<ParentDetail>();
        }
    }

    public class ParentDetail {
        public int Id { get; set; }  <<<<<<<< new field
    }

}

2 个答案:

答案 0 :(得分:1)

for(int i = 0; i < _ParentDetails.Count; i++)
{
    _ParentDetails[i].Id = i + 1;
}

答案 1 :(得分:1)

可以按照Roy Dictus的建议进行直接for(int i; i < Count; i++)循环(来自我的+1) - 我只是把它放在那里作为替代,这在你 don'的情况下非常有用t 知道可枚举的数量。

foreach(var detail in _ParentDetails.
  Select((d, i) => new { Item = d, Index = i + 1})
{
  detail.Item.Id = detail.Index;
}

在你的情况下,你做;但是,你有一个IList