我有以下课程。 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
}
}
答案 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
。