C# 如何向另一个类的列表中的类添加序列ID?
我有以下课程。父类的内部是ParentDetail的列表。现在我需要向ParentDetail类添加一个新字段。该字段名为Id。我需要的是主类中的一个方法,该方法将遍历ParentDetails并使用从1开始的数字填充Id字段 有人能想出一个简单的方法吗?我不知道如何反复浏览这个列表C# 如何向另一个类的列表中的类添加序列ID?,c#,C#,我有以下课程。父类的内部是ParentDetail的列表。现在我需要向ParentDetail类添加一个新字段。该字段名为Id。我需要的是主类中的一个方法,该方法将遍历ParentDetails并使用从1开始的数字填充Id字段 有人能想出一个简单的方法吗?我不知道如何反复浏览这个列表 public class Parent { public IList<ParentDetail> ParentDetails { get { return _Pa
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
}
}
公共类父类{
公共图书馆的详细信息{
获取{return\u ParentDetails;}
}
私有列表_ParentDetails=新列表();
公共家长(){
这是。_ParentDetails=new List();
}
}
公共类ParentDetail{
公共int Id{get;set;}for(int i=0;i<\u ParentDetails.Count;i++)
{
_ParentDetails[i].Id=i+1;
}
可以像Roy Dictus(+1)所建议的那样,对(int i;i,我只是把它作为一个替代方法,这在不知道可枚举数的情况下非常有用
foreach(var detail in _ParentDetails.
Select((d, i) => new { Item = d, Index = i + 1})
{
detail.Item.Id = detail.Index;
}
在你的例子中,你是这样做的;因为你有一个IList
。实际上,@Roy-那需要是i+1
:)
foreach(var detail in _ParentDetails.
Select((d, i) => new { Item = d, Index = i + 1})
{
detail.Item.Id = detail.Index;
}